Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL ánh xạ thông tin đăng nhập cho người dùng hiện có

Để điều chỉnh người dùng với thông tin đăng nhập, bạn có thể sử dụng quy trình được lưu trữ trong hệ thống sp_change_users_login.

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

Ví dụ:

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

Nếu bạn có nhiều người dùng không đồng bộ hóa, bạn có thể sử dụng con trỏ để kéo tất cả người dùng ra và chạy lệnh này cho họ. Không có bất kỳ ảnh hưởng bất lợi nào khi chạy điều này đối với những người dùng không đồng bộ và nó sẽ khắc phục tất cả những người dùng mồ côi.

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

Điều này phải được chạy trong ngữ cảnh của cơ sở dữ liệu mà bạn cần người dùng cố định trong đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hết thời gian truy vấn từ ứng dụng web nhưng chạy tốt từ studio quản lý

  2. Làm thế nào để có được khả năng tương thích giữa Mã hóa AES C # và SQL2k8?

  3. Kích thước tối đa cho một truy vấn SQL Server? Mệnh đề IN? Có một phương pháp tiếp cận tốt hơn không

  4. SQL động so với thủ tục được lưu trữ

  5. SQL Server Resumable Index:Nó có tốt cho bạn không?