29

dbowner我需要从 SQL Server 数据库中删除具有架构的用户。我无法按原样删除它,因为我收到此错误消息

用户“网络服务”的删除失败。(Microsoft.SqlServer.Smo)

数据库主体在数据库中拥有一个架构,并且不能被删除。(Microsoft SQL Server,错误:15138)

当我尝试取消选中此用户拥有的架构以删除数据库所有者时,它什么也不做。我的问题是如何删除此用户或编辑其名称'network service' to 'NT AUTHORITY\NETWORK SERVICE'

4

5 回答 5

33

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

尝试这个:

在此查询中,您可以获得用户模式作为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 – 修复:错误:15138

于 2018-05-09T09:36:27.127 回答
13

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

因为它说:

在此处输入图像描述

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

在此处输入图像描述

然后改变

德博

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

在此处输入图像描述

于 2019-09-26T17:15:26.890 回答
4

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

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
ALTER AUTHORIZATION ON SCHEMA::db_datareader TO dbo;
ALTER AUTHORIZATION ON SCHEMA::db_datawriter TO dbo;
于 2020-12-09T13:08:28.170 回答
1

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

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

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
于 2019-10-05T05:58:49.900 回答
-1
ALTER AUTHORIZATION ON SCHEMA::[NT AUTHORITY\SYSTEM] TO dbo
于 2018-11-25T13:07:06.300 回答