Để đ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 đó.