SQL server 无法删除用户对象架构解决方案

sql语句;

方法一;适用于SQL server 2000/2005/2008R2

use usernamedb
 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

方法二;适用于SQL server 2005/2008R2

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;

数据库-安全性-架构,先删除对应用户架构再删除用户。

方法三;适用于SQL server 2000

开始-程序-Microsoft SQL Server-企业管理器打开-点击本地服器-右击属性-服务器设置-允许对系统目录直接进行修改-确定-数据库-master-sysusers-右击-打开表-返回所有行-找到要删除的用户删除即可,通常在最后一行。

其他版本没尝试,你可以试试。如果有好的解决方案,可以留言,我好补充加上。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code