我需要从SQL Server数据库中删除具有dbowner模式的用户。因为我收到此错误消息,所以我无法删除它
用户'网络服务'丢弃失败。 (Microsoft.SqlServer.Smo)
数据库主体拥有数据库中的架构,无法删除。 (Microsoft SQL Server,错误:15138)
当我尝试取消选中此用户拥有的架构以删除db owner时,它什么都不做。我的问题是如何删除此用户或将其名称从“网络服务”编辑为“NT AUTHORITY \ NETWORK SERVICE”
答案 0 :(得分:9)
答案 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
架构名称中,从第一个查询获得。
最后你可以毫无错误地删除用户。
答案 2 :(得分:1)
答案 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