ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 用sp_change_users_login消除Sql Server的孤立用户

用sp_change_users_login消除Sql Server的孤立用户

原创 Linux操作系统 作者:iSQlServer 时间:2010-01-25 11:13:34 0 删除 编辑

今天同事问一个问题:

问题:1. sql server2005 修改系统表不能修改
        2. 错误信息:sql server 2005 用户、组或角色 在当前数据库中已存在,想手工把登录名与数据库中的用户名进行关联, 系统不让; 想删除数据库中的用户再重建, 竟然也不让删……

 

孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数据库的syslogins中却没有对应的记录。

孤立帐户的产生一般是一下两种:
1.将备份的数据库在其它机器上还原;
2.重装系统或SQL SERVER之后只还原了用户库

解决方法是使用sp_change_users_login来修复。

sp_change_users_login的用法有三种

用法1:
exec sp_change_users_login 'REPORT'

列出当前数据库的孤立用户

用法2:
exec sp_change_users_login 'AUTO_FIX','用户名'

可以自动将用户名所对应的同名登录添加到syslogins中

用法3:
exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'
将用户名映射为指定的登录名。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16436858/viewspace-625919/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2343040