Microsoft
SQL Server错误: 15138删除对于用户失败,数据库主体在该数据库中拥有架构,无法删除
。
解决方法一
先删除此用户对应的架构
,然后在删除对应的用户
步骤
1
。SQL SERVER MANAGEMENT STUDIO -> 数据库 ->
安全性 -> 构架
,先删除对应的构架
2。SQL SERVER MANAGEMENT STUDIO -> 数据库 ->
安全性 -> 用户,删除对应的用户
解决方法二
–执行如下SQL语句
ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
–然后手动删除就可以了。
在Sql2000 里这个模式叫Owner
在Check 约束 中可以修改
也可以执行:exec sp_changeobjectowner "rongsen.TB_USER",dbo
到了2005 Owner的概念变成了 模式 schema
修改方式如下:
alter schema dbo transfer kehu6.TB_PRODUCT_CLOTHES
将rongsen 改成dbo
多说一句 dbo 是默认模式,表明其他用户都有访问此表的权利。
黑客防线网安在仔细研究和数据库专业人士协调后的做法:
declare @name sysname
declare csr1 cursor
for select 'Name' = name
from sysobjects
where user_name(uid)='kehu11 '
order by name
open csr1
FETCH NEXT FROM csr1 INTO @name
while (@@FETCH_STATUS=0)
BEGIN
SET @name='kehu11 .'+@name
EXEC SP_ChangeObjectOwner @name, 'dbo'
fetch next from csr1 into @name
END
CLOSE csr1
DEALLOCATE csr1