如何删除具有db owner特权的SQL Server用户

Sof*_*aja 16 sql-server sql-manager

我需要从SQL Server数据库中删除具有dbowner模式的用户.因为我收到此错误消息,所以我无法删除它

用户'网络服务'丢弃失败.(Microsoft.SqlServer.Smo)

数据库主体在数据库中拥有一个模式,不能删除.(Microsoft SQL Server,错误:15138)

当我尝试取消选中此用户拥有的架构以删除db owner时,它什么都不做.我的问题是如何删除此用户或将其名称从"网络服务"编辑为"NT AUTHORITY\NETWORK SERVICE"

Kev*_*n M 11

看看这个:

http://www.itorian.com/2012/12/the-database-principal-owns-schema-in.html

它表明您需要先添加另一个所有者


Has*_*thi 11

我有同样的问题,我运行两个脚本然后我的问题解决了.

试试这个:

在此查询中,您可以获取用户架构作为AdventureWorks数据库的结果

USE AdventureWorks;
SELECT s.name
FROM sys.schemas s
WHERE s.principal_id = USER_ID('your username');
Run Code Online (Sandbox Code Playgroud)

在获取模式名称后,您可以更改模式的授权,如下所示:

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
Run Code Online (Sandbox Code Playgroud)

在此查询db_owner架构名称中,从第一个查询获取.

最后你可以删除用户而不会出错.

我的来源:SQL SERVER - 修复:错误:15138

  • 首先尝试接受的答案后,此选项对我有用(这无济于事;不知道为什么,它们非常相似)。 (2认同)

Wil*_* Jr 11

我有同样的问题,我无法删除用户

因为它说:

在此处输入图片说明

所以我需要去 Security -> Schemas 并查找 dbo,然后右键单击并选择 Properties:

在此处输入图片说明

然后改变

德博

然后我现在可以删除我想删除的用户。

在此处输入图片说明


Say*_*emi 8

就我而言,我执行这些命令并解决了问题:

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
ALTER AUTHORIZATION ON SCHEMA::db_datareader TO dbo;
ALTER AUTHORIZATION ON SCHEMA::db_datawriter TO dbo;
Run Code Online (Sandbox Code Playgroud)