none
SQLServer 2008 r2 msdbにアクセスできず、SQLServer Management Studioが使用できず、困っています RRS feed

  • 質問

  • お世話になっております。

    SQLServer2008r2を使用しています。

    SQLServerの再起動後、Management Studioを起動すると、以下のようなメッセージが表示されます。

    ============================================

    Transact-SQLステートメントまたはバッチの実行中に例外が発生しました。
    (Microsoft.SqlServer.ConnectionInfo)
    追加情報
     ファイルにアクセスできないか、メモリまたはディスク領域が不足しているので、
     データベース'msdb'を開けません。詳細については、SQL Serverエラーログを参照してください(Microsoft SQL Server、エラー:945)

    ============================================

    Management Studioは起動するのですが、サーバーロールのオブジェクト以外、ツリーを展開することができません。

    このときにエラーログ(ERRORLOG)にエラー情報は出力されていません。

    また、sp_helpdb msdb; を実行すると

    データベース 'msdb' にアクセスする権限がありません。

    とメッセージが出力されます。

    ディスクやメモリの空き容量には問題ありません。

    madbのファイルサイズは以下の通りです。

    MSDBData.mdf : 15MB程度

    MSDBLog.ldf  : 3MB程度


    どのように解決すればよろしいでしょうか?

    助言をお願いいたします。

    2012年2月9日 5:15

回答

すべての返信

  • sqlcmdからも正常に接続できないんですよね? であれば、おそらくmsdbが破損していると思われます。msdbをバックアップから復元するか、全く同じSQL Serverのバージョンからmsdbをコピーしてくれば復旧できるようです。

    (参考)
    model データベースおよび msdb データベースの復元に関する注意点
    http://msdn.microsoft.com/ja-jp/library/ms190749(v=sql.105).aspx

    SQL SERVER 2000 MSDB復旧したいのですが
    http://social.msdn.microsoft.com/Forums/ja-JP/sqlserverja/thread/49f8b1ad-e454-4db1-8109-b02f754a8d84/


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク bakesan 2012年2月10日 0:52
    2012年2月9日 7:07
  • trapemiya様


    ご回答ありがとうございました。

    msdbの復元を行わずとも、回復できましたのでご報告します。

    1.MSDBData.mdf、MSDBLog.ldfのアクセス権(ファイルのプロパティのセキュリティタブ)を他サーバーと比較。
     Network Serviceが無かったため、追加(フルコントール)。

     Network ServiceはSQLServer2008r2のインストール時に指定していたサービス起動のアカウントです。
     このアカウントが外れていた原因は全くわかりません。

    2.SQLServeのサービスを再起動。
     利用者のいない夜間にサービスの再起動を実施。

     その結果、Management Studio起動時のエラーは解消し、各種オブジェクトにアクセスできるようになりました。
     sqlcmdでの接続(sp_helpdb msdb;)も問題ありませんでした。

    次善の対策として、msdbのコピー(他サーバーからmsdbをバックアップ、障害サーバーへのリストア)を検討しましたが、
    その必要はありませんでした。

    アドバイス、大変参考になりました。今後ともよろしくお願いいたします。

    2012年2月10日 0:51