Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。

データベースダイアグラムでエラー発生

SQL Server 2005で,SQL Server Management Studio(SSMS)からデータベース ダイアグラムを選択すると次のようなエラーが発生しました。

このデータベースの有効な所有者がいないので、データベース ダイアグラム サポート オブジェクトをインストールできません。続行するには、最初に [データベースのプロパティ] ダイアログ ボックスの [ファイル] ページまたは ALTER AUTHORIZATION ステートメントを使用してデータベースの所有者を有効なログインに設定してから、データベース ダイアグラム サポート オブジェクトを追加します。

このメッセージの通り,ALTER AUTHORIZATIONステートメントを使ったりSSMSから所有者にログインを割り当ててもいっこうに解決しません。

このデータベースは,SQL Server 2000からデータベースコピーウィザードでコピーしてきたものでした。2005サーバ上で新たに作成したデータベースではこのエラーは発生しませんでした。

結局,

http://msdn.microsoft.com/ja-jp/library/ms186345.aspx

に記載されている方法で解決ができました。

データベース ダイアグラム サポートを SQL Server Management Studio にインストールするには、データベースの互換性レベルを SQL Server 2005 に設定しておく必要があります。データベースの互換性レベルが 90 に設定されていない場合、ダイアグラム サポートをインストールしようとすると次のエラーが発生します。

このデータベースの有効な所有者がいないので、データベース ダイアグラム サポート オブジェクトをインストールできません。続行するには、最初に [データベースのプロパティ] ダイアログ ボックスの [ファイル] ページまたは ALTER AUTHORIZATION ステートメントを使用してデータベースの所有者を有効なログインに設定してから、データベース ダイアグラム サポート オブジェクトを追加します。

データベース互換性レベルは、ダイアグラム サポートをインストールした後でリセットできます。次の Transact-SQL ステートメントを使用してデータベースの互換性レベルを変更してから、データベース ダイアグラムの操作を再度行います。

EXEC sp_dbcmptlevel 'database_name', '90';

この記事の通り,

EXEC sp_dbcmptlevel 'database_name', '90';

を実行したら,エラーは発生せずデータベース ダイアグラムを操作できるようになりました。

 

トラックバック


URL から "-MoIyadayo" を削除してトラックバックを送信してください。
トラックバックは承認後に表示されます。