136

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

次のエラーがポップアップします。

メッセージ 15404、レベル 16、状態 11、行 1 Windows NT グループ/ユーザー 'WIN-NDKPHUPPNFL\Administrator'、エラー コード 0x534 に関する情報を取得できませんでした。

問題は、PC の名前が「DevPC」に変更されたことです。更新スクリプトでもこれを変更しましたが、それでも同じエラー 15404 が表示されます。

この厄介なエラーを修正するにはどうすればよいですか?

4

14 に答える 14

218

SQL Server Management Studio で次の操作を行います。

  1. データベースを右クリックし、プロパティを選択します
  2. オプションページへ
  3. 「互換性レベル」というラベルが付いた右側のドロップダウンで、「SQL Server 2005(90)」を選択します 3-1. 比較エラーが発生した場合は、「SQL Server 2008」を選択してください。
  4. ファイルページに移動
  5. 所有者テキストボックスに「sa」と入力します。5-1 または省略記号 (...) をクリックして、正当な所有者を選択します。
  6. ヒット OK

これを行うと、データベース ダイアグラムにアクセスできるようになります。

ここに画像の説明を入力

于 2012-04-20T14:26:22.897 に答える
189

データベースの所有権には SQL 認証アカウントを考慮する必要があります。アカウントの出入り、データベースやインスタンスの別のサーバーへの移動、次回の PC 名の変更について心配する必要はありません。私たちが使用するいくつかのシステムがあります。

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

または、所有者をそのローカル管理者アカウントに変更する場合は、次のようにする必要があります。

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
于 2010-01-11T17:50:07.657 に答える
8
USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

できます。

于 2017-01-31T06:53:38.727 に答える
5

私も同じ問題を抱えていました。
職場で同じ日に作成した図を自宅で見たいと思っていました。しかし、このメッセージのためにできませんでした。
データベースの所有者が私のコンピューターのユーザーであることがわかりました - 予想通りでした。しかし、コンピュータは会社のドメインにあり、私は会社のネットワークに接続していないため、データベースは所有者を解決できませんでした。

だから私がしたことは、所有者をローカルユーザーに変更したところ、うまくいきました!!
これが誰かに役立つことを願っています。

データベース、プロパティ、ファイル、所有者を右クリックしてユーザーを変更します

于 2016-07-04T22:46:38.397 に答える
3

これで修正されました。これは、データベース プロパティ ウィンドウの「ファイル」セクションの下にある所有者を設定し、management studio によってスクリプト化されています。

USE [your_db_name]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

sp_changedbowner のドキュメントによると、これは現在非推奨です。

イスラエルの回答に基づいています。アーロンの答えは、これの非推奨のバリエーションです。

于 2014-10-16T10:33:25.890 に答える
0

この問題を解決する簡単な方法は、データベースの名前を右クリックして [新しいクエリ] を選択し、「 exec sp_changedbowner 'sa' 」と入力してクエリを実行することです。その後、あなたは行く準備ができています。

于 2015-06-02T07:38:35.777 に答える
-3

データベースを右クリックし、プロパティを選択します。互換性レベルでオプションを選択します。Microsoft sql 2008 を使用している場合は、2008 ではなく sql 2005[90] を選択します。次に、ファイルを選択し、所有者のテキスト ボックスに (sa) と書き込みます。それはおそらく動作します

于 2015-04-26T08:38:21.003 に答える