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

时间:2016-02-16 13:50:41

标签: sql-server sql-manager

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

  

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

     

数据库主体拥有数据库中的架构,无法删除。 (Microsoft SQL Server,错误:15138)

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

6 个答案:

答案 0 :(得分:9)

看看这个:

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

它表示您需要先添加其他所有者

答案 1 :(得分:9)

我遇到了同样的问题,我运行了两个脚本然后我的问题就解决了。

试试这个:

在此查询中,您可以获取AdventureWorks数据库

的结果的用户架构
USE AdventureWorks;
SELECT s.name
FROM sys.schemas s
WHERE s.principal_id = USER_ID('your username');

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

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;

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

最后你可以毫无错误地删除用户。

我的来源:SQL SERVER – Fix: Error: 15138

答案 2 :(得分:1)

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

  

foo

因为它说:

enter image description here

所以我需要转到“安全性->模式”并查找dbo,然后右键单击并选择“属性”:

enter image description here

然后更改

  

foo

  

dbo

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

enter image description here

答案 3 :(得分:0)

上述解决方案也解决了我的问题:

SELECT s.name
FROM sys.schemas s
WHERE s.principal_id = USER_ID('your username');

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;

答案 4 :(得分:0)

萨拉姆。

在我的情况下,我执行以下命令并解决了问题:

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
ALTER AUTHORIZATION ON SCHEMA::db_datareader TO dbo;
ALTER AUTHORIZATION ON SCHEMA::db_datawriter TO dbo;

答案 5 :(得分:-1)

ALTER AUTHORIZATION ON SCHEMA::[NT AUTHORITY\SYSTEM] TO dbo