1. ホーム
  2. sql-server

[解決済み] データベース図のサポートオブジェクトがインストールできない...有効な所有者がいない

2022-06-25 15:32:44

質問

SQL Server 2008 でデータベース図を作成しようとしましたが、エラーが発生しました。

データベース図のサポートオブジェクト をインストールできません。 データベースには有効な所有者がいないため、インストールできません。 続行するには、まず「データベースのプロパティ」ダイアログボックスの「ファイル」ページで のページ、または または ALTER AUTHORIZATION 文を使用します。 を使用して、データベースの所有者を有効なログインに設定します。 を有効なログインに設定し、データベース図 のサポート・オブジェクトを追加します。

その後、以下を試してみました。

EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO

次のerorrがポップアップ表示されます。

Msg 15404, レベル 16, ステート 11, ライン 1 に関する情報を取得できませんでした。 Windows NT グループ/ユーザー 'WIN-NDKPHUPPNFL⇄Administrator'の情報を取得できませんでした。 コード 0x534 です。

問題は、PCの名前が "DevPC" に変わっていることです。私は更新スクリプトでこれを変更しましたが、まだ同じエラー15404があります。

この迷惑なエラーを修正するにはどうしたらよいでしょうか。

どのように解決するのですか?

そうすれば、アカウントの出入り、データベースまたはインスタンスの異なるサーバーへの移動、および次の PC 名の変更について心配する必要はありません。私は、いくつかのシステムで使用しています。

ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];

あるいは、そのローカルのAdministratorアカウントにオーナーを変更するのであれば、そのようにします。

ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];

にリネームしているため、マシンの DevPC という名前だったローカルアカウントが削除されたためです。 WIN-ND...\Administrator という名前のローカル アカウントが削除され、データベースの現在の所有者も無効になりました。

もし SELECT @@SERVERNAME; が正確でない場合(つまり DevPC と表示されるはずです)、SQL Server 内でサーバーの名前が変更されたことを確認するために、次のコマンドも発行してください。

EXEC sys.sp_dropserver @server = N'old server name';
GO
EXEC sys.sp_addserver @server = N'DevPC', @local = N'local';
GO