删除用户的问题

Sql Server 2000

数据库 AB 为强制还原的数据库,数据库中有一个用户ABC,在Master库中不存在该用户。

执行操作:删除数据库用户ABC

错误提示:无法删除,该用户拥有数据库中的对象

问题:如何查询该用户在数据库AB中拥有的对象,如何强制删除该用户?
---------------------------------------------------------------

例子:

创建一个测试表对象 TestTable ,并将 owner 设为用户 lily
CREATE TABLE [lily].[TestTable] ([ID] [int] NULL ) ON [PRIMARY]

试着删除用户 lily ,系统会报告错误,说 lily 是某些对象的 owner ,不能删除

运行下面的代码,就可以获得 lily 所拥有的对象(但运行结果中会出现错误警告,说,lily 拥有某些对象)
declare @UID int
set @UID=user_id('lily')
exec sp_MScheck_uid_owns_anything @UID

下面的代码,可以将对象 TestTable 的 owner 设为 dbo ,这样,就可以删除 lily 了
sp_changeobjectowner 'TestTable','dbo'

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus