首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用sp_change_users_login消除Sql Server的孤立用户

用sp_change_users_login消除Sql Server的孤立用户

作者头像
张善友
发布于 2018-01-31 11:34:28
发布于 2018-01-31 11:34:28
1.7K0
举报
文章被收录于专栏:张善友的专栏张善友的专栏

孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的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','用户名','登录名' 将用户名映射为指定的登录名。

使用ALTER USER WITH LOGIN修复孤儿登录

从SQL Server 2005 SP2开始,T-SQL的ALTER USER命令就包含了WITH LOGIN子句,这个子句通过修改数据库用户的SID为服务器登录的安全标识符修复孤儿登录,它可以同时修复Windows和SQL Server登录的功能。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2008-10-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档