DBAtlas · 数据库运维图谱

15138: The database principal owns a schema in the database, and cannot be dropped(数据库主体在数据库中拥有架构,无法删除)

SQL Server

含义

尝试删除数据库用户/角色(数据库主体),但由于该主体拥有数据库中的一个或多个架构而无法删除。在将其拥有的架构转移给其他主体之前无法删除。

原因

要删除的用户是至少一个架构的 OWNER(例如默认以其名称创建的架构,或通过 AUTHORIZATION 指定的架构)。为避免留下孤立架构,SQL Server 阻止删除。

解决方法

找出该用户拥有的架构:SELECT name FROM sys.schemas WHERE principal_id = USER_ID('app_user'); 将这些架构的所有权转移给其他主体(例如 dbo):ALTER AUTHORIZATION ON SCHEMA::[app_schema] TO dbo; 如果该架构不再需要(且为空),执行 DROP SCHEMA。所有权转移后,再次运行 DROP USER。

在 DBAtlas 中打开 →

同一数据库的其他条目