加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver 无法删除用户 提示"该用户拥有对象,无法删除&#34

发布时间:2020-12-12 14:32:29 所属栏目:MsSql教程 来源:网络整理
导读:sqlserver 无法删除用户碰到一个数据库下无法删除用户的情况,总是提示"该用户拥有对象,无法删除",最后老大过来解释后,发现原来在该用户下有几个表对象,用sql语句去改变那些表的用户的语句: sp_changeobjectowner 'can.WCMDocQuoteImage','dbo' 注意,

sqlserver 无法删除用户碰到一个数据库下无法删除用户的情况,总是提示"该用户拥有对象,无法删除",最后老大过来解释后,发现原来在该用户下有几个表对象,用sql语句去改变那些表的用户的语句:

sp_changeobjectowner 'can.WCMDocQuoteImage','dbo'

注意,这里can是要删除的用户,同时它拥有对象--WCMDocQuoteImage,最后我们改变成让dbo拥有这个对象。


通过执行?? sp_addlogin,把登录?? janetl?? 改名为?? dbo。?????

sp_addlogin   'janetl','dbo'   

备份数据库。在本例中,备份?? Northwind。?????
BACKUP   DATABASE   Northwind   
TO   DISK   =   'c:mssqlbackupnorthwnd'   


除去刚刚备份的数据库。?????
DROP   DATABASE   Northwind   

除去登录。 ? ??
sp_droplogin   'janetl'   


还原备份的数据库。?????
RESTORE   DATABASE   Northwind   
FROM   DISK   =   'c:mssqlbackupnorthwnd'   


janetl?? 登录不能访问?? Northwind?? 数据库,除非允许?? guest?? 登录。尽管?? janetl?? 登录已经删除,它仍然(作为一个孤立行)显示在?? sysusers?? 表中:???
USE   Northwind   
SELECT   *   
FROM   sysusers   
WHERE   name   =   'janetl'   


解决孤立用户问题?????
????
用?? sp_addlogin?? 添加一个临时登录。为孤立用户指定安全标识符?? (SID)(从?? sysusers)。?????
sp_addlogin   @loginame   =   'nancyd',@sid   =   0x32C864A70427D211B4DD00104B9E8A00   


?用?? sp_dropalias?? 除去属于别名?? SID?? 的临时别名。?????
sp_dropalias   'nancyd'   

用?? sp_dropuser?? 除去原始用户(即现在的孤立用户)。?????
sp_dropuser   'janetl'   

用?? sp_dropuser?? 除去原始登录。?????
sp_droplogin   'nancyd'  

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读