数据库

MSSQL 2000 还原数据库后登录名为空的问题

字号+ 作者:hanyufeng 来源: 2013-09-23 19:31:56 我要评论( ) 阅读:

SQL Server 2000 还原数据库后登录名为空的问题...

问题描述:
使用SQL Server 2000企业管理器将SQL Server数据库备份还原到其它电脑后,无法使用原来的用户名登录。数据库有相应的用户名,但对应的登录名为空(孤立用户),无法登录。

解决方法:
1. 打开“SQL 查询分析器”。
2. 输入 sp_change_users_login 'report' , 执行查询(按F5),查询有哪些没有登录名的孤立用户。
3. 输入 
exec sp_change_users_login 'AUTO_FIX','用户名(根据实际用户名修改)
 ,再次执行查询就可以修复了(修复后的登录名和用户名相同)。

其它说明:
修复后,应用程序就马上可以使用原来的用户名登录到SQL Server数据库了,但企业管理器可能要退出并重新启动才会正常显示登录名。

如果要使用与用户名不同的登录名,可以输入 exec sp_change_users_login 'UPDATE_ONE','用户名','登录名',执行查询后会将用户名映射为指定的登录名。 

也可以在任意一个数据表的SQL窗格执行以上查询 

 


SQL Server 2000 SP3(及更高版本)在执行查询 exec sp_change_users_login 'AUTO_FIX','用户名'  时会报错:

服务器: 消息 15290,级别 16,状态 1,过程 sp_change_users_login,行 166
将终止此过程。操作 'AUTO_FIX' 与其它参数值('用户名'、'(null)')不兼容。

可以改用以下方法:

1. 在企业管理器的“控制台根目录”下找到“安全性”,再右击“登录",选择”新建登录“,新建一个(与孤立用户)同名的登录名(可以使用同样的密码
2. 打开“SQL 查询分析器”,输入 exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'   (登录名与用户名相同),执行查询就可以修复了。
(参考资料:http://bbs.csdn.net/topics/330068620)

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 修改、批量修改表和存储过程的所有者

    修改、批量修改表和存储...

  • Windows XP下安装SQL2000企业版

    Windows XP下安装SQL2000企业版

  • MSSQL 2000如何修改数据表所有者

    MSSQL 2000如何修改数据表所有者

  • MSSQL 2000 无法安装的解决方法

    MSSQL 2000 无法安装的解决方法

  • SQL Prompt 5.3.4.1注册版

    SQL Prompt 5.3.4.1注册版