web-dev-qa-db-ja.com

データベースのプロパティページにアクセスできない

現在、データベースサーバーを使用停止にして、データベースをあるサーバーから別のサーバーに移行しています。データベースのプロパティを取得しようとすると、SQLエラーポップアップが表示されました。

データベース '[データベース名]'のプロパティ所有者は使用できません。このプロパティはこのオブジェクトに存在しないか、アクセス権が不十分なため取得できない可能性があります。(Microsoft.SqlServer.Smo)

事実:

  • Server 2003 Standard with SP2
  • SQL Server 2005 Standard-9.0.1399
  • 私はシステム管理者なので、パーマの問題であってはなりません
  • 別のシステム管理者が同じエラーで操作を実行していた
  • DBCC CheckDBはエラーをリストしませんでした
  • エラーなしでバックアップできます
  • エラーなしでDBをオフライン/オンラインにしました

私が実行して報告できる提案やテストはありますか?

5
Sean Perkins

おそらく、データベースの所有者をデタッチ/再アタッチするのではなく、[sa](または実際には有効なログイン)に設定しただけかもしれません。

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

これはおそらく、データベースの作成、アタッチ、または復元を担当するログインが最初は存在しないために発生しました。有効な所有者がいない場合、UIはスマートではなく、適切に失敗します。

8
Aaron Bertrand

問題を修正しましたが、問題の原因は不明です。

データベースをデタッチ/再接続したところ、データベースのプロパティにアクセスできました。

このデータベースはどういうわけかその所有者を失ったようです。それはどうして起こりますか?!

1
Sean Perkins

Dbの所有者をsaに変更するだけで、問題なく動作します。これは、データベースの所有者が定義されていない場合に発生します(例:「不明」)。

そのデータベースに対して以下のコマンドを実行すると、正常に動作します

EXEC sp_changedbowner 'sa';
0