バックアップ デバイス

更新 : 2006 年 7 月 17 日

バックアップ操作中、バックアップ対象のデータ (バックアップ) は、物理バックアップ デバイスに書き込まれます。物理バックアップ デバイスとは、オペレーティング システムによって提供されるテープ ドライブまたはディスク ファイルです。バックアップは 1 ~ 64 個のバックアップ デバイスに書き込むことができます。バックアップに複数のバックアップ デバイスが必要な場合、デバイスはすべて 1 種類のデバイス (ディスクまたはテープ) に対応する必要があります。

ms179313.note(ja-jp,SQL.90).gifメモ :
物理バックアップ デバイスは、メディア セットの最初のバックアップが書き込まれるときに初期化されます。1 つ以上の一連のバックアップ デバイスにあるバックアップによって、1 つのメディア セットが構成されます。メディア セットとは、テープやディスク ファイルなどのバックアップ メディアに順序を付けてまとめたもので、決まった種類のバックアップ デバイスが複数使用されます。メディア セットの詳細については、「メディア セット、メディア ファミリ、およびバックアップ セット」を参照してください。

ディスク バックアップ デバイスの使用

ディスク バックアップ デバイスは、1 つ以上のバックアップ ファイルを含むハード ディスクまたはその他のディスク記憶メディアです。バックアップ ファイルは正規のオペレーティング システム ファイルです。

バックアップ操作によってバックアップがメディア セットに追加されているときにディスク ファイルがいっぱいになると、バックアップ操作は失敗します。バックアップ ファイルの最大サイズはディスク デバイス上の使用可能な空き領域によって決まるため、バックアップ ディスク デバイスの適切なサイズは、バックアップのサイズによって異なります。

ディスク バックアップ デバイスには、ATA ドライブなどの単純なディスク デバイスを使用できます。また、ホットスワップ可能なディスク ドライブも使用できます。この場合、ドライブ上のいっぱいになったディスクを空のディスクと交換する作業を透過的に行えます。バックアップ ディスクには、サーバー上のローカル ディスクや、共有ネットワーク リソースであるリモート ディスクを使用できます。リモート ディスクの使用方法については、このトピックの「ネットワーク共有のファイルへのバックアップ」を参照してください。

SQL Server 管理ツールを使用すると、タイムスタンプの付いた名前がディスク ファイルに対して自動的に生成されるため、ディスク バックアップ デバイスの操作を柔軟に行えます。

ms179313.note(ja-jp,SQL.90).gif重要 :
バックアップ ディスクには、データベースのデータ ディスクやログ ディスクとは別のディスクを使用することをお勧めします。これは、データ ディスクやログ ディスクで障害が発生した場合に確実にバックアップにアクセスできるようにするために必要です。

物理名を使用したバックアップ ファイルの指定

物理デバイス名を使用してバックアップ ファイルを指定するための基本的な BACKUP 構文は次のとおりです。

BACKUP DATABASE database_name

   TO DISK = { 'physical_backup_device_name' | **@**physical_backup_device_name_var }

次に例を示します。

BACKUP DATABASE AdventureWorks 
   TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak';
GO

RESTORE ステートメントで物理ディスク デバイスを指定するための基本構文は次のとおりです。

RESTORE { DATABASE | LOG } database_name

   FROM DISK = { 'physical_backup_device_name' | **@**physical_backup_device_name_var }

次に例を示します。

RESTORE DATABASE AdventureWorks 
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'; 

ディスク バックアップ ファイルのパスの指定

バックアップ ファイルを指定する場合、その完全パスとファイル名を入力する必要があります。ファイルへのバックアップ時にファイル名または相対パスだけを指定すると、バックアップ ファイルは既定のバックアップ ディレクトリに配置されます。既定のバックアップ ディレクトリは、C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Backup です (n はサーバー インスタンスの番号です)。したがって、既定のサーバー インスタンスの場合、既定のバックアップ ディレクトリは C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup になります。

指定があいまいになる状態を避けるために、特にスクリプトでは、バックアップ ディレクトリのパスを各 DISK 句で明示的に指定することをお勧めします。ただし、これは、クエリ エディタを使用している場合はそれほど重要ではありません。この場合、バックアップ ファイルが既定のバックアップ ディレクトリに存在することがわかっていれば、DISK 句からパスを省略できます。たとえば、次の BACKUP ステートメントでは、AdventureWorks データベースが、既定のバックアップ ディレクトリ内の AdventureWorks.bak バックアップ ファイルにバックアップされます。

BACKUP DATABASE AdventureWorks 
   TO DISK = ’AdventureWorks.bak’;
GO
ms179313.note(ja-jp,SQL.90).gifメモ :
既定の場所は、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.n\MSSQLServerBackupDirectory レジストリ キーに格納されます。

ネットワーク共有のファイルへのバックアップ

SQL Server からリモート ディスク ファイルにアクセスするには、SQL Server サービス アカウントにネットワーク共有へのアクセス権が必要です。これには、バックアップ操作によるネットワーク共有への書き込みに必要な権限、および復元操作によるネットワーク共有からの読み取りに必要な権限も含まれます。ネットワーク ドライブおよび権限の可用性は、SQL Server サービスが実行されている状況によって異なります。

  • SQL Server がドメイン ユーザー アカウントで実行されているときにネットワーク ドライブにバックアップするには、SQL Server が実行されているセッションのネットワーク ドライブとして共有ドライブをマップする必要があります。コマンド ラインから Sqlservr.exe を起動すると、ログイン セッションでマップしたすべてのドライブが SQL Server で認識されます。
  • Sqlservr.exe をサービスとして実行する場合、SQL Server はログイン セッションと関係のない個別のセッションで実行されます。サービスが実行されているセッションには、マップされた独自のドライブがある場合がありますが、通常はありません。
  • ドメイン ユーザーではなくコンピュータ アカウントを使用することにより、ネットワーク サービス アカウントで接続できます。特定のコンピュータから共有ドライブへのバックアップを可能にするには、そのコンピュータ アカウントにアクセス権を与えます。バックアップを書き込んでいる Sqlservr.exe のプロセスにアクセス権がある限り、BACKUP コマンドを送信するユーザーにアクセス権があるかどうかが問題になることはありません。
    ms179313.note(ja-jp,SQL.90).gif重要 :
    ネットワーク経由でデータをバックアップすると、ネットワーク エラーの影響を受ける場合があります。そのため、リモート ディスクを使用する際はバックアップ操作を終了後に検証することをお勧めします。詳細については、「バックアップの確認」を参照してください。

UNC (汎用名前付け規則) 名の指定

バックアップ コマンドや復元コマンドでネットワーク共有を指定するには、ファイルの完全修飾 UNC (汎用名前付け規則) 名をバックアップ デバイスに使用する必要があります。UNC 名の形式は、\\Systemname\ShareName\Path\FileName です。

次に例を示します。

BACKUP DATABASE AdventureWorks 
   TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';
GO

テープ デバイスの使用

SQL Server データをテープにバックアップするには、テープ ドライブが Microsoft Windows オペレーティング システムでサポートされている必要があります。また、特定のテープ ドライブでは、ドライブの製造元で推奨されているテープのみを使用することをお勧めします。テープ ドライブのインストール方法の詳細については、Windows オペレーティング システムのマニュアルを参照してください。

テープ ドライブを使用する場合、バックアップ操作は 1 つのテープがいっぱいになると、別のテープで続行できます。各テープには、メディア ヘッダーが含まれています。最初に使用されるメディアは先頭テープといいます。その後の各テープは後続テープと呼ばれ、前のテープより 1 つ大きいメディア シーケンス番号が付けられます。たとえば、4 つのテープ デバイスに関連付けられているメディア セットには、少なくとも 4 つの先頭テープ (およびデータベースが収まらない場合は 4 組の後続テープ) が含まれます。バックアップ セットを追加する場合は、その組に最終テープをセットする必要があります。最終テープがセットされていない場合、データベース エンジンは、セットされているテープの終わりまでスキャンし、テープを変更するように要求します。その時点で、最終テープをセットします。

テープ バックアップ デバイスは、次の点を除いて、ディスク デバイスと同じように使用します。

  • テープ デバイスは、SQL Server のインスタンスが動作しているコンピュータに物理的に接続する必要があります。リモートのテープ デバイスへのバックアップはサポートされません。
  • バックアップ操作中にテープ バックアップ デバイスがいっぱいになっても、まだデータを書き込む必要がある場合、SQL Server は新しいテープを挿入するように要求するメッセージを表示し、新しいテープが挿入された後にバックアップ操作を続行します。

開いているテープの管理

開いているテープ デバイスの一覧と、マウント要求の状態を確認するには、sys.dm_io_backup_tapes 動的管理ビューに対してクエリを実行します。このビューでは、開いているすべてのテープが表示されます。これには、次の BACKUP 操作または RESTORE 操作を待機して一時的にアイドル状態になっている使用中のテープも含まれます。

テープが誤って開いたままになっている場合、最も迅速にテープを解放するには、RESTORE REWINDONLY FROM TAPE **=**backup_device_name コマンドを使用します。詳細については、「RESTORE REWINDONLY (Transact-SQL)」を参照してください。

物理名を使用したバックアップ テープの指定

テープ ドライブの物理デバイス名を使用してバックアップ テープを指定するための基本的な BACKUP 構文は次のとおりです。

BACKUP { DATABASE | LOG } database_name

   TO TAPE = { 'physical_backup_device_name' | **@**physical_backup_device_name_var }

次に例を示します。

BACKUP LOG AdventureWorks 
   TO TAPE = '\\.\tape0';
GO

RESTORE ステートメントで物理テープ デバイスを指定するための基本構文は次のとおりです。

RESTORE { DATABASE | LOG } database_name

   FROM TAPE = { 'physical_backup_device_name' | **@**physical_backup_device_name_var }

テープ固有の BACKUP 操作と RESTORE 操作

テープ管理を容易にするには、BACKUP ステートメントで次のテープ固有のオプションを指定します。

  • { NOUNLOAD | UNLOAD }
    バックアップ操作や復元操作の後にバックアップ テープをテープ ドライブから自動的にアンロードするかどうかを制御できます。UNLOAD または NOUNLOAD はセッション設定です。この設定は、セッションの有効期間中、または代わりのオプションを指定してリセットされるまで保持されます。
  • { REWIND | NOREWIND }
    SQL Server がバックアップ操作や復元操作の後にテープを開いたままにするかどうか、またはその操作が失敗した後にテープを解放して巻き戻すかどうかを制御できます。既定の動作では、テープを巻き戻します (REWIND)。
ms179313.note(ja-jp,SQL.90).gifメモ :
BACKUP 構文および引数の詳細については、「BACKUP (Transact-SQL)」を参照してください。RESTORE 構文および引数の詳細については、それぞれ「RESTORE (Transact-SQL)」および「RESTORE の引数 (Transact-SQL)」を参照してください。

論理バックアップ デバイスの使用

論理バックアップ デバイスとは、特定の物理バックアップ デバイス (ディスク ファイルやテープ ドライブ) を示す、省略可能なユーザー定義名です。論理バックアップ デバイスにより、対応する物理バックアップ デバイスを参照する際に間接指定を使用できます。

論理バックアップ デバイスの定義には、物理デバイスへの論理名の割り当てが含まれます。たとえば、論理デバイス AdventureWorksBackups が、Z:\SQLServerBackups\AdventureWorks.bak ファイルまたは \\.\tape0 テープ ドライブを指すように定義されたとします。その後のバックアップ コマンドおよび復元コマンドでは、DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' や TAPE = '\\.\tape0' ではなく、AdventureWorksBackups をバックアップ デバイスとして指定できます。

論理デバイス名は、サーバー インスタンス上のすべての論理バックアップ デバイスで一意になる必要があります。既存の論理デバイス名を表示するには、sys.backup_devices カタログ ビューに対してクエリを実行します。このビューでは、各論理バックアップ デバイスの名前が表示され、対応する物理バックアップ デバイスの種類と物理的なファイル名またはパスが示されます。

論理バックアップ デバイスを定義した後、BACKUP コマンドまたは RESTORE コマンドでは、デバイスの物理名ではなく論理バックアップ デバイスを指定できます。たとえば、次のステートメントでは、AdventureWorks データベースが AdventureWorksBackups 論理バックアップ デバイスにバックアップされます。

BACKUP DATABASE AdventureWorks 
   TO AdventureWorksBackups;
GO
ms179313.note(ja-jp,SQL.90).gifメモ :
特定の BACKUP ステートメントまたは RESTORE ステートメントでは、論理バックアップ デバイス名と対応する物理バックアップ デバイス名を交換できます。

論理バックアップ デバイスを使用する 1 つの利点は、長い物理パスを使用するよりも使いやすいことです。一連のバックアップを同じパスまたはテープ デバイスに書き込む予定がある場合は、論理バックアップ デバイスを使用すると便利です。論理バックアップ デバイスは、テープ バックアップ デバイスを識別する際に特に役立ちます。

バックアップ スクリプトは、特定の論理バックアップ デバイスを使用するように記述できます。これにより、スクリプトを更新せずに、新しい物理バックアップ デバイスに切り替えることができます。切り替えには、次の処理が必要です。

  1. 元の論理バックアップ デバイスを削除します。
  2. 新しい論理バックアップ デバイスを定義します。このデバイスは、元の論理デバイス名を使用しますが、別の物理バックアップ デバイスにマップされているものです。論理バックアップ デバイスは、テープ バックアップ デバイスを識別する際に特に役立ちます。

論理バックアップ デバイスを定義するには

論理バックアップ デバイスを削除するには

論理バックアップ デバイスを使用するには (SQL Server Management Studio)

論理バックアップ デバイスを使用するには (Transact-SQL)

ミラー化バックアップ メディア セット

SQL Server 2005 では、バックアップ デバイスの誤動作の影響を軽減するためにバックアップ メディア セットのミラー化が導入されています。バックアップはデータ損失に対する最後の防護策なので、このような誤動作は非常に深刻です。データベースのサイズが大きくなるにつれて、バックアップ デバイスやメディアの障害によってバックアップを復元できなくなる可能性が高くなります。バックアップ メディアをミラー化すると、物理バックアップ デバイスの冗長性が実現され、バックアップの信頼性が向上します。詳細については、「ミラー化バックアップ メディア セットの使用」を参照してください。

ms179313.note(ja-jp,SQL.90).gifメモ :
ミラー化バックアップ メディア セットは、SQL Server 2005 Enterprise Edition のみでサポートされています。

SQL Server バックアップのアーカイブ

ファイル システム バックアップ ユーティリティを使用してディスクのバックアップをアーカイブし、アーカイブをオフサイトに保存することをお勧めします。ディスクを使用することには、アーカイブしたバックアップをネットワーク経由でオフサイトのディスクに書き込めるという利点があります。テープを使用することには、アーカイブした一連のバックアップを不要になるまで蓄積できるという利点があります。

一般的なアーカイブ方法は、SQL Server バックアップをローカルのバックアップ ディスクに書き込み、そのバックアップをテープにアーカイブして、そのテープをオフサイトで保存するという形態です。

参照

処理手順

デバイスからバックアップを復元する方法 (SQL Server Management Studio)
データベースをバックアップする方法 (SQL Server Management Studio)
論理バックアップ デバイスのプロパティと内容を表示する方法 (SQL Server Management Studio)

関連項目

SQL Server: Backup Device オブジェクト

概念

メンテナンス プラン ウィザード
メディア セット、メディア ファミリ、およびバックアップ セット
ミラー化バックアップ メディア セットの使用

その他の技術情報

BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
RESTORE LABELONLY (Transact-SQL)
sys.backup_devices (Transact-SQL)
sys.dm_io_backup_tapes

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

新しい内容 :
  • 「物理名を使用したバックアップ ファイルの指定」に既定のバックアップ ディレクトリに関する注記を追加しました。

2006 年 4 月 14 日

新しい内容 :
  • 「開いているテープの管理」セクションを追加しました。
  • 「物理名を使用したバックアップ テープの指定」セクションを追加しました。
  • 「論理バックアップ デバイスの使用」セクションを追加しました。
  • 「ミラー化バックアップ メディア セット」セクションを追加しました。
  • 「SQL Server バックアップのアーカイブ」セクションを追加しました。
変更内容 :
  • 「ネットワーク共有のファイルへのバックアップ」セクションを変更しました。
  • 「論理バックアップ デバイスの使用」セクションを変更しました。