0

SQL Server データベースのロールの 1 つを削除しようとしています。ロールからすべてのメンバーを削除しましたが、ロールを削除しようとすると、次のエラー メッセージが表示されました。

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

誰かが理由を知っていますか?所有スキーマを確認したところ、独自の名前にチェックサインしかありませんでした。

4

2 に答える 2

2

スキーマを所有するデータベース プリンシパルは削除できません。データベース プリンシパルを削除する前に、スキーマの所有権を他のデータベース プリンシパルに譲渡するか、スキーマを削除する必要があります。

于 2010-01-07T15:42:28.833 に答える
2

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;
于 2016-05-17T22:03:54.443 に答える