none
SQLSERVER2008R2 SSMSによるMSDBのリストアに関して RRS feed

  • 質問

  • お世話になります。

    SQLSERVER2008R2でのリストアに関してですが、以下のオペレーションを行ったところ

    error:927が発生し、差分バックアップやトランザクションログからのリストアが出来なくなりました。

    環境に関しては以下の通りになります。

    OS:Windows2008ServerR2 Datacenter SP1

    SQLSERVER:SQLSERVER2008R2(10.50.1600)

    以下、行ったオペレーションになります。

    1:SSMS起動後、対象のDBに接続

    2:MSDBを右クリックしtasks→Restore→Databaseを選択

    3:Source for RestoreでFrom:deviceを選択しフルバックアップで作成されたファイルを選択

    4:optionsタブを選択

    5:Overwrite the existing database(WITH REPLACE)にチェック

    6:Leave the dattabase non-opreational. and do not roll back uncommited transactions. Additional transaction logs can be restord(RESTORE WITH NORECOVERY)を選択

    7:OKボタンを押下

    上記オペレーションでは選択したフルバックアップファイルのリストアは成功するのですが、差分バックアップファイルをリストアしようとすると

    error:927が発生し、DB自体が表示されなくなりました。

    クエリからrestoreコマンドで各ファイルを指定してリストアしたところ正常にリストアできましたのでバックアップファイル自体が破損しているとは考えづらいと思われます。

    お手数ではございますがご教授頂けないでしょうか。

    宜しくお願いいたしいます。


    2014年5月14日 8:17

すべての返信

  • 事象は書かれているのですが、何を知りたいのか質問自体が書かれていませんね・・・。
    回避策はご自身で見つけられているので、原因か 927 エラーの意味か、そのあたりでしょうか?

    エラー 927 は、復元中(WITH NORECOVERY を指定して RESTORE した後)の DB にアクセスした際に出るコードです。
    MSDB はバックアップなどの情報も保持している DB ですので、SQL Server Management Studio(SSMS) のウィンドウを表示する際にアクセスしてしまっているのかもしれません。
    実際、バージョン違いではありますが手元の SQL Server 2008 SP3 の SSMS でも、データベースの復元ウィンドウを開くだけで msdb.dbo.backupset への SELECT 文が実行されていました。
    ですので、ご自身でも実際に行われていますが、MSDB の差分バックアップを復元する際は SSMS ではなくクエリで行う、という回避策が妥当だと思います。
    バックアップファイル自体は破損していないと考えて差支えないと思われます。


    MCITP(Database Developer/Database Administrator)

    2014年5月16日 1:18
  • nagino - 引退エンジニア様

    ご返答ありがとうございます。

    >事象は書かれているのですが、何を知りたいのか質問自体が書かれていませんね・・・。
    >回避策はご自身で見つけられているので、原因か 927 エラーの意味か、そのあたりでしょうか?

    大変失礼いたしました。

    知りたい内容としましては、以前SQLSERVER2005にてSSMS上からMSDBのリストアを行ったプリントスクリーンを見せてもらった事がありまして

    SQLSERVER2005では出来たのに何故SQLSERVER2008R2では出来ないのか、または出来るようになるための設定方法が在るのかをご教授頂ければと思います。

    現在SQLSERVER2008R2のリストア手順書を作成しており、SSMSからのリストアが可能であればそのように手順書を作成したいと考えております。

    お手数ではございますが、宜しくお願いいたします。

    2014年5月16日 4:54
  • なるほど、そういうことでしたか。
    SQL Server 2000 の時は似たような話がありまして Enterprise Manager から差分バックアップが復元できるようになる修正ファイルが出て SP にも含まれていたと記憶していますが、2005 以降では類似するような話は寡聞にして聞いたことがありません。
    2005 で出来ていたとなると、機能変更か不具合かどちらか判断つかないですね。
    申し訳ないですが、ちょっと私ではお役に立てそうに無い感じです。

    MCITP(Database Developer/Database Administrator)

    2014年5月16日 5:34
  • nagino - 引退エンジニア様

    ご返答ありがとうございます。

    SQLSERVER2000での似たような事象はフォーラムで拝見させて頂きました。

    海外で似たような事象が報告されているのを見つけたのですが、解決策がないまま閉じられておりましたのでこちらで質問させて頂きました。

    回避策としてはクエリで実行すれば問題なくリストアできるとの事で、私としても運用上は問題ないと思うのですが、

    やはり、SQLSERVER2005で出来ていた事がSQLSERVER2008R2で出来ない理由、または出来るようになる為の設定方法が在ればその方法を知りたいと思っています。

    引き続き皆様からのお知恵をお借りしたいと思います。

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

    2014年5月16日 6:34