2010-01-07 53 views
0

我想放棄我的SQL Server數據庫中的角色之一。我放棄了角色中的所有成員,當我嘗試刪除角色時,我收到了以下錯誤消息:刪除SQL Server數據庫中的角色?

Msg 15138, Level 16, State 1, Line 13 
The database principal owns a schema in the database, and cannot be dropped. 

有誰知道爲什麼?我查看了自己的模式,並且只有自己的名字有複選標記。

回答

2

您不能刪除擁有模式的數據庫主體。您必須將架構所有權轉移給其他數據庫主體,或者先刪除架構,然後才能刪除數據庫主體。

0

15138錯誤是由於您嘗試刪除的用戶擁有架構。

如果您運行以下查詢,您將獲得用戶擁有的架構。

USE DatabaseName; 
SELECT s.name 
FROM sys.schemas s 
WHERE s.principal_id = USER_ID('UserName'); 

讓我們說它返回'db_denydatareader'模式。然後,您可以使用以下查詢將該架構分配給 默認用戶「dbo」。

ALTER AUTHORIZATION ON SCHEMA::db_denydatareader TO dbo; 
相關問題