Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。
データベースダイアグラムでエラー発生
SQL Server 2005で,SQL Server Management Studio(SSMS)からデータベース ダイアグラムを選択すると次のようなエラーが発生しました。
![このデータベースの有効な所有者がいないので、データベース ダイアグラム サポート オブジェクトをインストールできません。続行するには、最初に [データベースのプロパティ] ダイアログ ボックスの [ファイル] ページまたは ALTER AUTHORIZATION ステートメントを使用してデータベースの所有者を有効なログインに設定してから、データベース ダイアグラム サポート オブジェクトを追加します。](/sites/default/files/images/diagram_err1.png)
このメッセージの通り,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';
を実行したら,エラーは発生せずデータベース ダイアグラムを操作できるようになりました。
トラックバック
人気のあるページ
- Robocopyでフォルダをコピー
- Robocopy よく使うオプション
- Active Directoryのユーザ管理 (1)
- SQL Server で文字列の半角/全角変換
- SQL Server 2005からリンクテーブルでOracleに接続する
- Windowsサーバでのレプリケート失敗を解決
- LDAP認証とActive Directory
- SQL Server 2005のデータベースコピーウィザードを使う
- WebClientサービスをポリシーで止める
- ログオン時にドライブやプリンタを割り当てる
- ログオン,ログオフ状況を記録するスクリプト
- 設定系スクリプト実行時にUACに邪魔されるのを回避する
