SQL Serverデータベースからdbownerスキーマを持つユーザーを削除する必要があります。このエラーメッセージが表示されるため、そのままドロップすることはできません。
ユーザー「ネットワークサービス」のドロップに失敗しました。 (Microsoft.SqlServer.Smo)
データベースプリンシパルはデータベース内のスキーマを所有しており、削除できません。 (Microsoft SQL Server、エラー:15138)
このユーザーが所有するスキーマのチェックを外してデータベース所有者を削除しようとすると、何も実行されません。私の質問は、このユーザーを削除するか、その名前を「ネットワークサービス」から「NT AUTHORITY\NETWORK SERVICE」に編集する方法です。
最初に別の所有者を追加します。
元のリンクはダウンしました-ここでも利用可能です https://web.archive.org/web/20160406021232/www.itorian.com/2012/12/the-database-principal-owns-schema-in。 html
同じ問題が発生しました。2つのスクリプトを実行すると、問題が解決します。
これを試して:
このクエリでは、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
最初のクエリから取得するスキーマ名。
最後に、エラーなしでユーザーを削除できます。
私のソース: SQL SERVER –修正:エラー:15138