データベース ダイアグラムの所有権について (Visual Database Tools)
データベース ダイアグラム デザイナを使用するには、db_owner ロール (Microsoft SQL Server データベースのロール) のメンバによって、ダイアグラムへのアクセスを制御するようにあらかじめ設定しておく必要があります。各ダイアグラムの所有者は 1 人だけで、ダイアグラムを作成したユーザーが所有者になります。ダイアグラムの設定の詳細については、「データベース ダイアグラム デザイナを設定する方法 (Visual Database Tools)」を参照してください。
ダイアグラムの所有権については、次の点に注意してください。
- データベースへのアクセス権を持つユーザーであればだれでもダイアグラムを作成できますが、作成されたダイアグラムを表示できるユーザーは、ダイアグラムの作成者と db_owner ロールのメンバだけです。
- ダイアグラムの所有権は、db_owner ロールのメンバだけに移譲できます。移譲できるのは、ダイアグラムの前の所有者がデータベースから削除された場合だけです。
- ダイアグラムの所有者がデータベースから削除されても、db_owner ロールのメンバが開こうとするまでダイアグラムはデータベース内に残ります。ダイアグラムを開く時点で、db_owner メンバはダイアグラムの所有権を継承するかどうかを選択できます。
重要 : |
---|
データベース ダイアグラム サポートを SQL Server Management Studio にインストールするには、データベースの互換性レベルを SQL Server 2005 に設定しておく必要があります。データベースの互換性レベルが 90 に設定されていない場合、ダイアグラム サポートをインストールしようとすると次のエラーが発生します。
このデータベースの有効な所有者がいないので、データベース ダイアグラム サポート オブジェクトをインストールできません。続行するには、最初に [データベースのプロパティ] ダイアログ ボックスの [ファイル] ページまたは ALTER AUTHORIZATION ステートメントを使用してデータベースの所有者を有効なログインに設定してから、データベース ダイアグラム サポート オブジェクトを追加します。
データベース互換性レベルは、ダイアグラム サポートをインストールした後でリセットできます。次の Transact-SQL ステートメントを使用してデータベースの互換性レベルを変更してから、データベース ダイアグラムの操作を再度行います。
EXEC sp_dbcmptlevel 'database_name', '90';
SQL Server の別のインスタンスからアタッチまたは復元されたデータベースでは、これらのサポート オブジェクトのインストールに失敗する場合があります。その可能性があるのは、データベースに格納されているデータベース所有者の名前が、データベースのアタッチ先または復元先の SQL Server インスタンスで有効なログインではない場合です。
次の Transact-SQL ステートメントを使用してデータベース所有者を SQL Server のインスタンスの有効なログインに変更し、データベース ダイアグラムの操作を再度行います。
ALTER AUTHORIZATION ON DATABASE::database_name TO valid_login |
参照
処理手順
データベース ダイアグラム デザイナを設定する方法 (Visual Database Tools)
その他の技術情報
データベース ダイアグラムの使用 (Visual Database Tools)