none
SQLServer2008 テープへのバックアップについて RRS feed

  • 質問

  • お世話になります。

    SQLServer2008にてDBのバックアップを取る事は可能なのですが、テープの待機の設定ができずに困っております。
    Management Studioでのプロパティ - データベースの設定 - 「SQLServerが新しいテープを待機する時間を指定します。」の設定ですが淡色表示になっており設定できません。
    この問題はUSBのテープデバイスで起こるとの事で
    http://support.microsoft.com/default.aspx/kb/927797/ja
    は認識しております。

    「SQLServerが新しいテープを待機する時間を指定します。」の部分を「一度だけ再試行する」にしたいのです。
    設定画面上、淡色表示ですが、表示上は「一度だけ再試行する」が選択されているように見えますが、実際には「ロードされるまで待つ」の設定になっているようです。
    BACKUP DATABASE DBNAME TO TAPE = '\\.\tape0' で試すとテープが挿入されるまで待機状態になります。

    USBのテープデバイスを装着した環境で「SQLServerが新しいテープを待機する時間を指定します。」の設定を「一度だけ再試行する」にするにはどうすれば良いのでしょうか?

    環境
    サーバー:NEC Express5800/T120a
    DAT:N8151-78 内蔵DAT(USB) ※HP DAT160 USB Driveです
    OS:Windows2003 Standard Edition
    SQL:SQLServer 2008 Standard

    2010年6月10日 12:22

回答

  • SQL Server 2005 の環境で、トレースを取ってみたところ、"一度だけ再試行する" を選択した場合、以下のレジストリキーの更新を行なっているみたいですね。

    N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer', N'Tapeloadwaittime', REG_DWORD, 0

    SQL Server 2008 の環境でもこのレジストリはありましたので、N'Tapeloadwaittime' の値を "0" にされてみてはどうでしょう。

    私の環境では、ffffffff (4294967295) となっていたので、"ロードされるまで待つ" になっているのではないかと。

    また、TAPE自体は、今後のバージョンで使用できなくなるみたいです。

    BACKUP (Transact-SQL)
    http://msdn.microsoft.com/ja-jp/library/ms186865.aspx

    TAPE オプションは将来のバージョンの SQL Server では削除される予定です。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

    • 回答としてマーク nendou3 2010年8月24日 3:16
    2010年7月29日 3:20
  • NOBTAさん

    遅くなりましたが、教えて頂きましたレジストリを変更する方法で試させて頂きました。
    結果、画面上で
    「SQLServerが新しいテープを待機する時間を指定します。」の部分を「一度だけ再試行する」にした状態の動作になりました。
    大変、ありがとうございます。
    この方法は正規の?方法ではありませんが、とりあえず動作には問題がないようです。

    • 回答としてマーク nendou3 2010年8月24日 3:14
    2010年8月23日 9:40

すべての返信

  • 以下の work around を実施しても、灰色のまま、変更できないのでしょうか。

    sp_addumpdevice (Transact-SQL)

    To work around this issue, follow these steps:

    1. Use the following Transact-SQL statement to register the USB-based tape device:
      USE master
      go
      EXEC sp_addumpdevice 'tape', 'tapedump1','\\.\Tape0'
      
    2010年6月11日 9:40
  • NOBTAさん

    ご返信ありがとうございます。
    EXEC sp_addumpdevice 'tape', 'tapedump1','\\.\Tape0'ですが、実施してもやはり、淡色のままで変更できないのです。
    困りました。。。
    ManagementStudioのプロパティ画面ではできなくとも、ファセットから「Server」 - 「TapeLoadWaitOut」を -1ではなく0にできれば良いと思うのですが、設定しても反映されず、再度確認すると-1になってしまいます。

    2010年6月11日 12:56
  • 解決策がない為、マイクロソフトの有償サポートに申し込もうと考えております。
    しかし、仕様です。という事で終わりになる可能性が大きいのでしょうか。
    どのようなものでしょうか?

     

    2010年7月28日 12:36
  • > 仕様です。という事で終わりになる可能性が大きいのでしょうか。

    確率はわかりませんが、経験上 8~9割は解決策がありません。
    理由は「仕様です。」「わかりません。」
    「未公開情報なので教えられません。」などさまざま。

    でも“解決策が無い”という言質をもらえることが重要で、
    マイクロソフト社のお墨付きをもられば、
    コストが余計かかるとしても別の手を提案しやすくなります。

    2010年7月29日 1:32
  • SQL Server 2005 の環境で、トレースを取ってみたところ、"一度だけ再試行する" を選択した場合、以下のレジストリキーの更新を行なっているみたいですね。

    N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer', N'Tapeloadwaittime', REG_DWORD, 0

    SQL Server 2008 の環境でもこのレジストリはありましたので、N'Tapeloadwaittime' の値を "0" にされてみてはどうでしょう。

    私の環境では、ffffffff (4294967295) となっていたので、"ロードされるまで待つ" になっているのではないかと。

    また、TAPE自体は、今後のバージョンで使用できなくなるみたいです。

    BACKUP (Transact-SQL)
    http://msdn.microsoft.com/ja-jp/library/ms186865.aspx

    TAPE オプションは将来のバージョンの SQL Server では削除される予定です。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

    • 回答としてマーク nendou3 2010年8月24日 3:16
    2010年7月29日 3:20
  • anningoさん

    ご返信ありがとうございます。
    やはり、解決策がない場合も多いようで。
    確かに、”解決策がない”という回答も重要ですね。大変、参考になりました。

     

    2010年8月3日 10:44
  • NOBTAさん

    ご返信ありがとうございます。
    頂きました情報で近日中に試させて頂きます。

    2010年8月3日 10:49
  • NOBTAさん

    遅くなりましたが、教えて頂きましたレジストリを変更する方法で試させて頂きました。
    結果、画面上で
    「SQLServerが新しいテープを待機する時間を指定します。」の部分を「一度だけ再試行する」にした状態の動作になりました。
    大変、ありがとうございます。
    この方法は正規の?方法ではありませんが、とりあえず動作には問題がないようです。

    • 回答としてマーク nendou3 2010年8月24日 3:14
    2010年8月23日 9:40