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

方法一(因为涉及更改数据库存储过程,强制删除法不推荐)

首先你需要做的第一件事
      企业管理器-〉选择服务器-〉属***-〉服务器设置-〉挑上允许对系统目录。。。-〉确定
第二步
      找到你的数据库找到sysusers表那你以前的用户删除
第三步回去吧属***值改回来
      第四部重建用户即可

方法二

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

--将下面的代码在查询分析器中执行,修改修改库名

use 你的库名
go

declare tb cursor local
for
select 'sp_changeobjectowner '
+quotename(
+quotename(user_name(uid))
+'.'+quotename(name),'''')
+',''dbo'''
from sysobjects 
where objectproperty(id,N'isusertable')=1
and uid<>user_id('dbo')
declare @s nvarchar(4000)
open tb
fetch tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch tb into @s
end
close tb
deallocate tb

MSSQL备份移植到另一服务器还原时容易遇到的问题……

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

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

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

格式:

sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner' 

例子 在查询分析器中录入:
sp_changeobjectowner 'web102101.tablename', 'dbo'

      依次将所有的所属用户都改为dbo,然后现在数据库的用户中把孤立用户删除,再到安全中删除登陆信息。并可以再依次创建新用户了


原文地址:http://www.hx008.cn/Article/class7/Database/200801/1303.shtml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值