ページのトップに戻る
ETERNUS SFAdvancedCopy Manager 13.4 運用手引書

12.7.1 バックアップ管理機能のコマンド

バックアップ管理機能によるSQL Serverのバックアップ運用ではswstbackup_sqlsvrとswstrestore_sqlsvrを使用します。

12.7.1.1 SQL Serverバックアップ実行コマンド(swstbackup_sqlsvr)

SQL Serverのデータベースバックアップを行います。本コマンドは、SQL Serverと連携して、12.2.2.1 バックアップ実行コマンド(swstbackup)を実行することによって、対象データベースボリュームのデータをバックアップボリュームにコピーします。

12.2.2.8 バックアップ同期処理開始コマンド(swststartsync)によって前もってバックアップ同期処理を行い、Suspend/Resume機能を使用して同期型高速バックアップを行う場合は、サスペンド指定でバックアップを実行し、バックアップ同期処理を一時停止します。Suspend/Resume機能については、「第6章 Suspend/Resume機能によるバックアップ運用」を参照してください。

データベースのバックアップ履歴情報はSQL Serverのmsdbに記録されます。データベースボリュームのバックアップ履歴情報はAdvancedCopy Managerのバックアップ管理簿に記録されます。

  1. 指定方法

    プログラムディレクトリ¥bin¥swstbackup_sqlsvr [-Xserver Server-Name]
                                                 [-Xinstance Instance-Name]
                                                 [-Xdevmap Device-Map-File]
                                                 [-suspend|-T]
                                                 DB-Name-1 DB-Name-2…DB-Name-i
  2. オプションの説明

    オプション

    説明

    -Xserver

    クラスタ運用の場合、接続するSQL Serverの仮想サーバ名を指定します。
    クラスタ運用でない場合は、本オプションを指定する必要はありません。

    -Xinstance

    接続インスタンスを指定します。オペランドにはインスタンス名を指定します。このオプションを指定しない場合は、既定のインスタンスに接続します。

    -Xdevmap

    出力先バックアップボリュームを指定してバックアップを行うことを指定します。オペランドには、データベースボリュームと出力先バックアップボリュームの組を記述した、デバイスマップファイル名を指定します。このオプションを指定しない場合は、出力先バックアップボリュームは自動的に選択されます。デバイスマップファイル名は絶対パスで指定してください。

    -suspend

    Suspend/Resume機能を使用して同期型高速バックアップを行うことを指定します。Suspend/Resume機能については、「第6章 Suspend/Resume機能によるバックアップ運用」を参照してください。

    -T

    差分スナップショット型高速バックアップを行うことを指定します。

    同期処理が行われている場合は本オプションを指定することはできません。

    本オプションは筐体内コピー、かつ、ETERNUS ディスクアレイがQuickOPC機能をサポートしている場合のみ有効です。

    本オプションを指定しないスナップショット型高速バックアップの場合、従来のスナップショット処理(従来のOPC)が起動されます。差分スナップショットを利用したバックアップ運用を行う場合は常に本オプションを指定する必要があります。

  3. オペランドの説明

    オペランド

    説明

    DB-Name-1…DB-Name-i

    (i=1,2,...,64)

    データベース名を指定します。複数のデータベースを指定する場合はデータベース名を半角空白またはタブ文字で区切って指定してください。65個以上のデータベース名を指定することはできません。

  4. 終了ステータス

    =0:正常終了
    >0:異常終了

  5. 実行例

    仮想サーバVSERVER配下のデータベースDB01、DB02、DB03をバックアップします(AdvancedCopy Manager論理ノード名がnodeAGTであるとします)。

    C:¥>set SWSTGNODE=nodeAGT
    C:¥>C:¥Win32App¥AdvancedCopyManager¥bin¥swstbackup_sqlsvr -Xserver VSERVER DB01 DB02 DB03
    DB01 DB02 DB03 swstbackup_sqlsvr completed
    C:¥>

    デバイスマップファイル(G:¥STGADM¥devmap.txt)で出力先バックアップボリュームを指定して、データベース(DB01、DB02、DB03)をバックアップします。

    C:¥>set SWSTGNODE=nodeAGT
    C:¥>C:¥Win32App¥AdvancedCopyManager¥bin¥swstbackup_sqlsvr -Xserver VSERVER -Xdevmap G:¥STGADM¥DEV.map DB01 DB02 DB03
    DB01 DB02 DB03 swstbackup_sqlsvr completed
    C:¥>

注意

本コマンドは、12.2.2.1 バックアップ実行コマンド(swstbackup)を使用してデータベースファイルが配置されたデータベースボリュームのバックアップを実施します。バックアップ実行コマンドでは、前処理によってデータベースボリュームをロックし、バックアップを実行した後に、後処理によってデータベースボリュームのロック解除を行います。SQL Serverのデータベースファイルが配置されている業務ボリュームは、SQL Serverが使用しているため、ロックを行うことができません。したがって、バックアップ用業務ボリュームロック動作指定ファイルを作成して、SQL Serverのデータベースファイルが配置されている業務ボリュームに対しては、ロックを行わず、ファイルシステムバッファのフラッシュのみを実施するように設定してください。設定方法については、「10.3.1.3 バックアップ用業務ボリュームロック動作指定ファイルの作成」を参考にしてください。

注意

次のような場合、バックアップを行うことはできません。

  • 指定したデータベースが存在しなかったとき(仮想サーバやインスタンスが存在しなかった場合も含みます)。

  • 複数のデータベースを指定した場合、指定したデータベースの全てが同一インスタンス配下のデータベースではなかったとき(-Xinstanceオプションを使用しなかった場合は、既定のインスタンスに対して処理を行います。-Xinstanceオプションを使用した場合はオペランドに指定した名前付きインスタンスに対して処理を行います)。

  • 指定されたデータベースが配置されたボリュームが業務ボリュームに登録されていないとき。

  • バックアップ対象データベースボリュームにバックアップポリシーが設定されていないとき。

  • 1世代前に実行したバックアップが失敗していたとき。

  • 世代溢れになるバックアップ履歴情報を用いてリストアが実行されているとき。

  • コピー先とする未使用バックアップボリュームが取得できなかったとき。

  • コピー先とするバックアップボリュームにドライブレターが割り当てられているとき。

  • 12.2.2.8 バックアップ同期処理開始コマンド(swststartsync)によって前もってバックアップ同期処理を実施している場合に、データベースボリュームとバックアップボリューム間の同期処理が等価性維持状態になっていなかったとき。

  • 運用開始後にボリュームの物理情報(媒体識別子,OLU、EXTENT開始位置、EXTENTサイズ)が変更されているとき。

  • データベースボリュームがSDXオブジェクト(SafeDISK)の場合、そのSDXオブジェクトの状態が以下の状態でないとき。

    1. ミラーボリュームがACTIVE、STOPのいずれか。

    2. ミラースライスの状態がACTIVE、STOPのいずれか。

    3. SDXディスクの状態がENABLEである。

  • 65個以上のデータベースを指定したとき。

  • バックアップボリュームをロックできなかったとき。

  • バックアップ用バックアップボリュームロック動作指定ファイルの内容が不当なとき。

注意

次のような場合、出力先バックアップボリュームを指定してバックアップを実行することはできません。

  • デバイスマップファイルで指定されたバックアップボリュームが対となるデータベースボリュームのバックアップボリュームとして使用可能でないとき。すなわち、以下の条件のいずれかが満足されないとき。

    1. 指定されたバックアップボリュームは未使用状態である。

    2. データベースボリュームとバックアップボリュームのパーティションサイズは同一である。

  • デバイスマップファイルの対象データベースボリュームに関する記述に誤りがあるとき。

ポイント

スナップショット処理の実行中に本コマンドを実行した場合は、実行中のコピーを停止し、新たにスナップショット処理を起動します。

注意

本コマンドは、オペランドの指定により、複数のデータベースを同時にバックアップする機能を提供しています。1つのボリューム上に複数のデータベースが存在している場合のような、複数データベースの物理ファイルがボリューム上に混在して存在している場合は、本機能を使用してボリューム上に存在する全てのデータベースのバックアップを実施してください。

本コマンドを使用すると、バックアップ処理が完了するまで、オペランドに指定した全てのデータベースが凍結されます。そのため、データベースファイルが存在するボリュームがデータベースごとに独立している場合は、凍結時間をなるべく短くするために、データベースごとのバックアップを複数回行うようにしてください。

注意

SDXオブジェクト(SafeDISK)をバックアップボリュームとするアドバンスト・コピーは現在のところサポートされていません。したがって、SDXオブジェクトのデータベースボリュームから非SDXオブジェクトのバックアップボリュームへのアドバンスト・コピーのみが利用可能です。

SDXオブジェクトへデータをリストアする際は以下の方法で実施してください。

  • COPYコマンドでデータのコピーを行ってください。

ポイント

バックアップ実行時のデータベースボリュームのデータ整合性処理はSQL Serverによって行われるため、通常のファイルシステムボリュームのような前後処理(ボリュームロック・ロック解除)は実行されません。

注意

本コマンドが複数ボリューム構成のデータベースを処理している間にエラーが発生した場合、処理を中断します。同期処理によるバックアップを行っていた場合は、停止された同期処理は12.2.2.8 バックアップ同期処理開始コマンド(swststartsync)で再開してください。

注意

本コマンドが複数ボリューム構成のデータベースを12.2.2.1 バックアップ実行コマンド(swstbackup)によって処理している間にエラーが発生すると、AdvancedCopy Managerのバックアップ履歴情報が不揃いになる可能性があります。そのような不整合状態を解消するには、12.2.2.7 履歴情報削除コマンド(swsthistdel)を使用して不要な履歴情報を削除してください。

図12.1 履歴情報の不整合からの回復

ポイント

バックアップを実行する前に、既に12.2.1.5 バックアップポリシー設定コマンド(swstbkpolset)で設定した保存世代数を満たすバックアップ履歴情報が存在する場合、バックアップ実行時にそのバックアップ履歴情報の中から一番古い情報を自動的に削除し、バックアップボリュームは空き状態になります。ただし、サスペンド指定バックアップの履歴情報の場合、バックアップボリュームとのサスペンド状態は解除されず、バックアップボリュームは使用中のままになります。

注意

バックアップを実行する業務ボリュームと別の業務ボリュームとサスペンド中のバックアップボリュームを、デバイスマップファイルでバックアップ先として指定することはできません。

ポイント

スナップショット型バックアップを実施する場合、本コマンドでは、バックアップボリュームにアクセスしているプロセスを保護するために、バックアップボリュームを他のプロセスからアクセスできない状態にしてからバックアップを実行します。そのために、バックアップボリュームのロックを実行します。バックアップボリュームのロックができない以下のような場合は、本コマンドはエラーで終了します。

  • マウントポイントの配下にさらに他のボリュームをマウントするディレクトリがある場合。

  • ボリューム内に使用中のファイルがある。また、本コマンドを投入するサーバ以外のサーバからバックアップボリュームが使用されている場合、レプリケーション運用の管理者の責任においてバックアップボリュームを共有設定の解除等によりアクセス禁止状態にしてください。

12.7.1.2 SQL Serverリストア実行コマンド(swstrestore_sqlsvr)

SQL Serverのデータベースリストアを実行します。12.2.2.3 リストア実行コマンド(swstrestore)を使ってデータベースファイルの復元を実施した後、本コマンドを投入してください。本コマンドは、復元したデータベースファイルよりデータベースの再作成を実施します。リカバリを実施する場合は、本コマンドを実行後、Enterprise Manager/Management StudioまたはTransact-SQLを使用してログを適用してください。

  1. 指定方法

    プログラムディレクトリ¥bin¥swstrestore_sqlsvr [-Xserver Server-Name]
                                                  [-Xinstance Instance-Name]
                                                  [-Xnolog]
                                                  -Xmeta Meta-File-Name
    DB-Name
  2. オプションの説明

    オプション

    説明

    -Xserver

    クラスタ運用の場合、接続するSQL Serverの仮想サーバ名を指定します。
    クラスタ運用でない場合は、本オプションを指定する必要はありません。

    -Xinstance

    接続インスタンスを指定します。オペランドにはインスタンス名を指定します。このオプションを指定しない場合は、規定のインスタンスに接続します。

    -Xnolog

    ログの適用をせず、バックアップ時点までDBを復元することを指定します。このオプションを指定しない場合、DBはバックアップ時点までリストアされますが、ログの適用を完了するまで使用することはできません。ログの適用はEnterprise Manager/Management StudioまたはTransact-SQLを使用して実施してください。

    -Xmeta

    メタデータファイル名を指定します。絶対パスで指定してください。メタデータファイルは、ファイル識別番号(FILE_ID)1のファイルと同一のフォルダに「“DB名”.swst-dmp」という名前で保存されています。データベースファイルのファイル識別番号を確認するためには、Transact-SQL文「USE データベース名 EXEC SP_HELPFILE」を使用してください。なお、本コマンドの正常終了後、メタデータファイルは削除されます。

  3. オペランドの説明

    オペランド

    説明

    DB-Name

    データベース名を指定します。

  4. 終了ステータス

    =0:正常終了
    >0:異常終了

  5. 実行例

    データベース(DB01)をリストアします。既にswstrestoreによるファイル復元は完了しており、メタデータファイルがD:¥SQLSVR¥DB01.swst-dmpに存在するとします。

    C:¥>set SWSTGNODE=nodeAGT
    C:¥>C:¥Win32¥AdvancedCopyManager¥bin¥swstrestore_sqlsvr -Xserver VSERVER -Xmeta  D:¥SQLSVR¥DB01.swst-dmp DB01
    DB01 swstrestore_sqlsvr completed
    C:¥>

注意

次のような場合は、リストアを実行できません。

  • 指定した仮想サーバやインスタンスが存在しなかったとき。

ポイント

ログ適用の有無によって以下の2種類の復旧方式を選択できます。

  • バックアップ時点への復旧(バックアップデータ復旧のみ)

  • 最新時点・特定時点への復旧(バックアップデータ復旧後ログ適用)