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

SQL मौजूदा उपयोगकर्ता के लिए एक लॉगिन मैप करता है

उपयोगकर्ता को लॉगिन के साथ मिलाने के लिए, आप सिस्टम संग्रहीत कार्यविधि sp_change_users_login का उपयोग कर सकते हैं।

sp_change_users_login [ @Action = ] 'action'
[ , [ @UserNamePattern = ] 'user' ] 
[ , [ @LoginName = ] 'login' ] 
[ , [ @Password = ] 'password' ];

उदाहरण के लिए:

EXEC sp_change_users_login 'Update_One','User123','User123'

यदि आपके पास बहुत सारे उपयोगकर्ता हैं जो सिंक से बाहर हैं, तो आप सभी उपयोगकर्ताओं को बाहर निकालने के लिए एक कर्सर का उपयोग कर सकते हैं और उनके लिए यह कमांड चला सकते हैं। उन उपयोगकर्ताओं के विरुद्ध इसे चलाने का कोई प्रतिकूल प्रभाव नहीं है जो सिंक से बाहर नहीं हैं, और यह सभी अनाथ उपयोगकर्ताओं को ठीक कर देगा।

DECLARE @sql NVARCHAR(MAX);
DECLARE curSQL CURSOR
FOR
       SELECT   'EXEC sp_change_users_login ''UPDATE_ONE'', ''' + name + ''', ''' + name + ''''
       FROM     sysusers
       WHERE    issqluser = 1
                AND name NOT IN ( 'guest', 'dbo', 'sys', 'INFORMATION_SCHEMA' )
OPEN curSQL
FETCH curSQL INTO @sql
WHILE @@FETCH_STATUS = 0 
     BEGIN
           EXEC (
           @sql
           )
           FETCH curSQL INTO @sql
     END
CLOSE curSQL
DEALLOCATE curSQL

इसे उस डेटाबेस के संदर्भ में चलाया जाना चाहिए जिसमें आपको उपयोगकर्ताओं की आवश्यकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे sp_describe_first_result_set SQL सर्वर में काम करता है

  2. SQL सर्वर में बल्क अनुमति कैसे सक्षम करें

  3. एसक्यूएल में ऑर्डर के लिए क्लॉज कहां लागू करना

  4. सी # में संग्रहित प्रक्रिया से वापसी मूल्य प्राप्त करना

  5. कैसे एक varchar autoincrement करने के लिए