Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में एक विशिष्ट लॉगिन के लिए एक साथ उपयोगकर्ता सत्रों को सीमित करना

SQL सर्वर में, आप लॉगऑन ट्रिगर का उपयोग सर्वर सत्रों को ऑडिट और नियंत्रित करने के लिए कर सकते हैं, जैसे लॉग इन गतिविधि ट्रैक करना, SQL सर्वर में लॉग इन को प्रतिबंधित करना, या किसी विशिष्ट लॉगिन के लिए सत्रों की संख्या को सीमित करना।

यह लेख एक विशिष्ट लॉगिन के लिए एक साथ सत्रों की संख्या को सीमित करने के लिए लॉगऑन ट्रिगर का उपयोग करने का एक उदाहरण प्रदान करता है।

उदाहरण

यहां एक लॉगऑन ट्रिगर का एक उदाहरण दिया गया है जो एक विशिष्ट लॉगिन के लिए एक साथ सत्रों की संख्या को 1 तक सीमित करता है।

एक लॉगिन बनाएं:

CREATE LOGIN Marge WITH PASSWORD = 'SQLServer123';
GRANT VIEW SERVER STATE TO Marge;

लॉगऑन ट्रिगर बनाएं:

CREATE TRIGGER trg_limit_concurrent_sessions
ON ALL SERVER WITH EXECUTE AS 'Marge'
FOR LOGON  
AS  
BEGIN  
IF ORIGINAL_LOGIN() = 'Marge' AND  
    (SELECT COUNT(*) FROM sys.dm_exec_sessions  
            WHERE is_user_process = 1 AND  
                original_login_name = 'Marge') > 1
    ROLLBACK;  
END;

अब, जब वह उपयोगकर्ता दूसरे कनेक्शन पर लॉग इन करने का प्रयास करता है, तो उन्हें निम्न त्रुटि मिलनी चाहिए:

Error message: Logon failed for login 'Marge' due to trigger execution.
Changed database context to 'master'.
Changed language setting to us_english.

ध्यान दें कि ट्रिगर के अंदर उत्पन्न होने वाले सभी संदेश जो आम तौर पर उपयोगकर्ता तक पहुंचते हैं, जैसे त्रुटि संदेश और PRINT से संदेश स्टेटमेंट, SQL सर्वर एरर लॉग में डायवर्ट कर दिए जाते हैं।

साथ ही, प्रमाणीकरण विफल होने पर लॉगऑन ट्रिगर सक्रिय नहीं होते हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में किसी पहचान कॉलम पर वर्तमान पहचान मान वापस करने के लिए IDENT_CURRENT() का उपयोग करें

  2. 7645 अशक्त या खाली पूर्ण-पाठ विधेय

  3. अपने SQL सर्वर मॉनिटरिंग स्वामित्व की कुल लागत की गणना करें

  4. प्राथमिक कुंजी को कैसे अपडेट करें

  5. SQL सर्वर डेटाबेस में किसी ऑब्जेक्ट (तालिका, दृश्य, संग्रहीत प्रक्रिया) की स्कीमा कैसे बदलें - SQL सर्वर / TSQL ट्यूटोरियल भाग 28