还原数据库,恢复SQLSERVER登录名的问题

还原SQLSERVER数据库,原来的数据库的于当前SQLSERVER同名用户就不能再登录了,原因是当前SQLSERVERD的master数据库的sysxlogins表的的sid与还原后的数据库的sysusers表里的sid不一致造成的,直接 update 还原后的数据库的sysusers表默认是不被SQLSERVER允许的. 但是可以使用 sp_change_users_login 存储过程来同步用户sid,这样以前数据库的用户也就可以登录.

例如,我还原后的数据库是 demo ,原来的数据库用户: demo

use db
select SID from sysusers where name ='demo'
use master
select SID from sysxlogins where name = 'demo'
use db
exec sp_change_users_login 'update_one' , 'demo' , 'demo'

原文地址:https://www.cnblogs.com/GmrBrian/p/3447255.html