質問

私は私のSQL Serverデータベースに役割の一つをドロップしようとしています。私は、ロールからすべてのメンバーを落とし、私はロールを削除しようとしたとき、私は、このエラーメッセージが表示されました。

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

誰もがなぜ知っていますか?私が所有スキーマをチェックし、それだけで自身の名前にチェック印を持っています。

役に立ちましたか?

解決

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

他のヒント

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;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top