sql server出现选定的用户拥有对象而无法删除的处理

32 篇文章 0 订阅
15 篇文章 0 订阅
sql server出现选定的用户拥有对象而无法删除的处理
2006-4-5 19:50:00
方法一
首先你需要做的第一件事
企业管理器-〉选择服务器-〉属***-〉服务器设置-〉挑上允许对系统目录。。。-〉确定
第二步
找到你的数据库找到sysusers表那你以前的用户删除
第三步回去吧属***值改回来
第四部重建用户即可

方法二

对mssql出现选定的用户拥有对象而无法删除的处理

Create PROCEDURE dbo.User_ChangeObjectOwnerBatch
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
AS

DECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)

DECLARE curObject CURSOR FOR
select ’Name’ = name,
’Owner’ = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name

OPEN curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner + ‘.’ + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end
– select @name,@NewOwner,@OldOwner

FETCH NEXT FROM curObject INTO @Name, @Owner
END

close curObject
deallocate curObject

GO



MSSQL备份移植到另一服务器还原时容易遇到的问题……
MSSQL备份移植到另一服务器还原时容易遇到的问题,尤其是从虚拟主机备份回来的数据库在本机还原的问题…

会出现用SQL原来的用户名和密码无效的情况
无法删除某一个系统表
用sa连接做Select时提示表名无效
无法删除原备份数据库中的用户名,提示“因为选定的用户拥有对象,所以无法除去该用户。”
主要原因是原来的备份还原时保留了原用户的信息,导致产生孤立用户……

这时候需要用sp_changeobjectowner 将对象的所有关系更改到另一个用户上,既更改数据库对象的所有者。

格式:

sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'
例子 在查询分析器中录入:

sp_changeobjectowner 'web102101.tablename', 'dbo'
依次将所有的所属用户都改为dbo,然后现在数据库的用户中把孤立用户删除,再到安全中删除登陆信息。

并可以再依次创建新用户了

http://blog.xswg.com/memeber/liaoguihui/archives/2006/155.html

 

mssql:因为选定的用户拥有对象,所以无法除去该用户。的解决方案
2007-11-29 21:59

        如果你用数据库自己新建的用户test建立了几张表,然后你的数据库备份/还原到了其他服务器上。你就必须要删除数据库中的原有用户test,才能在新服务器上建立test这个用户。否则你就无法用原配置访问。

        此时你删除test这个用户的时候,数据库就会提示“因为选定的用户拥有对象,所以无法除去该用户”。这个时候你需要用sp_changeobjectowner '用户名.表名', 'dbo'来除去test这个用户的全部对象。才能删除用户。例如 sp_changeobjectowner 'test.table1', 'dbo'。

        在出去test这个对象后,你就可以删除它,然后再新服务器重建这个对象。   

        不过这个时候我建议修改DBHelper,让你做数据库操作的时候用全表名,例如:select * from test.table1这样的结构您就可以用其他用户访问,而不需要去操作这个用户

http://hi.baidu.com/summer0927/blog/item/0a7146fb8d036767024f5614.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值