ページの先頭行へ戻る
ETERNUS SF AdvancedCopy Manager 16.5 運用ガイド
FUJITSU Storage

10.4.2 バックアップ/リストアの実行

SQL Serverのデータベースのバックアップ/リストア方法について説明します。

10.4.2.1 バックアップの実行

SQL Serverデータベースのバックアップは以下の手順から構成されます。

同期処理の開始/再開(同期型バックアップを行う場合だけ)

同期型バックアップによる運用を行う場合、事前に同期処理(EC/REC)を開始または再開しておく必要があります。同期処理の開始はswsrpstartsyncコマンドで行います。データベースが複数ボリューム構成である場合は、すべてのデータベースボリュームについて処理を実施する必要があります。

■実行例

すべてのデータベースボリュームの同期処理を開始/再開します。

業務サーバ(DB-SVR)からコマンドを実行します(レプリケーショングループ名を指定する場合)。

C:\>C:\Win32App\AdvancedCopyManager\bin\swsrpstartsync -Xgroup grp1
GROUP=grp1 swsrpstartsync completed
C:\>

データベースのバックアップ

データベースのバックアップは、swsrpbackup_sqlコマンドで行います。

注意

  • AdvancedCopy Managerを使用してデータベースバックアップを実施する場合、トランザクションログの切捨ては行われません。そのため、バックアップ運用をデータベースバックアップだけで構成する場合においても、トランザクションログの切捨てのためのログバックアップは定期的に実施してください。詳細は、『SQL Server Books Online』の「トランザクションログの切り捨て」を参照してください。

  • swsrpbackup_sqlコマンドが複数ボリューム構成のデータベースをswsrpmakeコマンドによって処理している間にエラーが発生した場合は、その時点で処理を中断します。すでに複製処理がなされたボリュームに対しては、エラー原因への対処のあと、swsrpstartsyncコマンドを使って、同期処理を再開してください。

■実行例

データベースDB01、DB02、DB03のバックアップを実施します。同期型バックアップの場合は、swsrpstatコマンドですべてのデータベースボリュームの同期処理が等価性維持状態(Execute欄が"100%")になっていることを確認してください。

レプリケーショングループ名がgrp1であるとして、業務サーバ(DB-SVR)からコマンドを実行します。

C:\>C:\Win32App\AdvancedCopyManager\bin\swsrpbackup_sql -Xserver VSERVER -Xgroup grp1 DB01 DB02 DB03
DB01 DB02 DB03 swsrpbackup_sql completed
C:\>

バックアップ履歴情報をswsrphistory_sqlコマンドで確認します。

C:\>C:\Win32App\AdvancedCopyManager\bin\swsrphistory_sql disp -Xserver VSERVER -Xgroup grp1
Instance-Name Server-Name Group-Name DB-Name Meta-Data-File           DB-File            Original-Volume Replica-Volume   Backup-Date
MSSQLSERVER   VSERVER     grp1       DB01    D:\SQLSVR\DB01.swsrp-dmp D:\SQLSVR\DB01.mdf g1d1p1@DB-SVR   g1d11p1@BKUP-SVR 2013/09/04 13:51
MSSQLSERVER   VSERVER     grp1       DB01    D:\SQLSVR\DB01.swsrp-dmp E:\SQLSVR\DB01.ndf g1d2p1@DB-SVR   g1d12p1@BKUP-SVR 2013/09/04 13:51
MSSQLSERVER   VSERVER     grp1       DB01    D:\SQLSVR\DB01.swsrp-dmp F:\SQLSVR\DB01.ldf g1d3p1@DB-SVR   g1d13p1@BKUP-SVR 2013/09/04 13:51
MSSQLSERVER   VSERVER     grp1       DB02    D:\SQLSVR\DB02.swsrp-dmp D:\SQLSVR\DB02.mdf g1d1p1@DB-SVR   g1d11p1@BKUP-SVR 2013/09/04 13:51
MSSQLSERVER   VSERVER     grp1       DB02    D:\SQLSVR\DB02.swsrp-dmp E:\SQLSVR\DB02.ndf g1d2p1@DB-SVR   g1d12p1@BKUP-SVR 2013/09/04 13:51
MSSQLSERVER   VSERVER     grp1       DB02    D:\SQLSVR\DB02.swsrp-dmp F:\SQLSVR\DB02.ldf g1d3p1@DB-SVR   g1d13p1@BKUP-SVR 2013/09/04 13:51
MSSQLSERVER   VSERVER     grp1       DB03    D:\SQLSVR\DB03.swsrp-dmp D:\SQLSVR\DB03.mdf g1d1p1@DB-SVR   g1d11p1@BKUP-SVR 2013/09/04 13:51
MSSQLSERVER   VSERVER     grp1       DB03    D:\SQLSVR\DB03.swsrp-dmp E:\SQLSVR\DB03.ndf g1d2p1@DB-SVR   g1d12p1@BKUP-SVR 2013/09/04 13:51
MSSQLSERVER   VSERVER     grp1       DB03    D:\SQLSVR\DB03.swsrp-dmp F:\SQLSVR\DB03.ldf g1d3p1@DB-SVR   g1d13p1@BKUP-SVR 2013/09/04 13:51
C:\>

トランザクションログのバックアップ

トランザクションログのバックアップは、SQL ServerのManagement StudioまたはTransact-SQLで行います。

10.4.2.2 リストアの実行

SQL Serverのデータベースの復旧は、以下の手順から構成されます。

ログファイルのバックアップ(最新時点への復旧を行う場合だけ)

最新時点への復旧を行う場合は、ログバックアップを実施してください(NO_TRUNCATE 句を指定した BACKUP LOG ステートメントを実行し、現在アクティブなトランザクション ログをバックアップします)。ログバックアップを実施しなかった場合、または、ログバックアップが実施できない障害の場合は、最新時点への復旧はできません。障害発生前の最新のログバックアップを使用してデータベースリカバリーを行ってください。

データベースのリストア

データベースのリストアは以下の2つの作業を実施することによって行われます。

注意

あるユーザー(ログイン)の既定のデータベースが、リストア対象のデータベースに設定されている場合は、上記作業を行う前にそのユーザーの既定のデータベースをmasterデータベースに変更する必要があります。この場合のリストア手順は以下のとおりです。

  1. 既定のデータベースをリストア対象データベースからmasterに変更する。

  2. 「ファイルの復元」作業を実施する。

  3. 「データベースの再作成」作業を実施する。

  4. 既定のデータベースをmasterからリストア対象データベースに変更する。

既定のデータベースはManagement Studioで変更できます。

  1. サーバー グループを展開し、サーバーを展開します。

  2. [セキュリティ] フォルダを展開し、[ログイン] をクリックします。

  3. 詳細ペインで、変更するログインを右クリックし、[プロパティ] をクリックします。

  4. [全般] タブの [データベース] ボックスの一覧で、SQL Serverのインスタンスにログインしたあとにログインが接続する新しい既定のデータベースをクリックします。

ファイルの復元

全データベースファイル(データファイルとログファイル)を復元します。

注意

  • ログファイルだけの復元はできません。

  • 全データベースファイルの復元は以下の手順で行います。

    表10.10 全データベースファイルの復元手順

    手順

    手順名

    説明

    1

    データベース削除

    Management Studioでデータベースを削除します。ログの適用を行う場合、「バックアップを削除し、データベースの履歴情報を復元する」をチェックせずに実施します。チェックして実施すると、Management Studioによるログの適用が不可能になります(その場合はTransact-SQLでログを適用してください)。

    なお、リストア後のデータベースの所有者は、後述する「データベースの再作成」を実行したユーザーとなります。データベースの再作成を実行するユーザーとリストア前のデータベースの所有者が異なる場合は、データベースの再作成を実行したあと、所有者の変更作業を行う必要があります。そのため、データベースの削除を実施する前に、現在のデータベースの所有者を確認し、記録してください。

    2

    複製作成コマンドの実施

    • 筐体内バックアップの場合
      swsrpmakeコマンドを使用して、バックアップボリュームからデータベースボリュームへすべてのデータベースファイルをコピーします。

    • 筐体間バックアップの場合
      swsrpstartsyncコマンドswsrpmakeコマンドを使用して、バックアップボリュームからデータベースボリュームへすべてのデータベースファイルをコピーします。

ポイント

  • データベースファイルとともにメタデータファイルも復元されます(ファイル識別番号1のデータベースファイルと同一のフォルダに復元されます)。

  • AdvancedCopy Managerのバックアップボリュームのデータをさらにテープ媒体へ退避する運用を行っている場合、複製作成コマンドを使わずにテープ媒体からデータベースボリュームへ直接ファイル復元を行うこともできます。

■実行例(筐体内バックアップの場合)

データベースを削除したあと、スナップショット型レプリケーション(OPC)を使用することによって、ファイル復元を行います。業務サーバ(DB-SVR)からコマンドを実行します。

レプリケーショングループ名を指定する場合は、-Xgroupオプションと-Xreverseオプションを指定します。

C:\>C:\Win32App\AdvancedCopyManager\bin\swsrpmake -Xgroup grp1 -Xreverse
GROUP=grp1 swsrpmake completed
C:\>

■実行例(筐体間バックアップの場合)

データベースを削除したあと、同期型レプリケーション(REC)を使用することによって、ファイル復元を行います。業務サーバ(DB-SVR)からコマンドを実行します。

レプリケーショングループ名を指定する場合は、-Xgroupオプションと-Xreverseオプションを指定します。

C:\>C:\Win32App\AdvancedCopyManager\bin\swsrpstartsync -Xgroup grp1 -Xreverse
GROUP=grp1 swsrpstartsync completed

(等価性維持状態になるまで待つ) 

C:\>C:\Win32App\AdvancedCopyManager\bin\swsrpmake -Xgroup grp1 -Xreverse
GROUP=grp1 swsrpmake completed
C:\>

データベースの再作成

データベースの再作成は、swsrprestore_sqlコマンドで行います。以下のリストア方法を選択できます。

注意

リストア後のデータベースの所有者は、データベースの再作成を実行したユーザーになります。データベースの再作成を実行したユーザーとリストア前のデータベースの所有者が異なる場合は、ストアド プロシージャ:sp_changedbownerを使用して所有者の変更を行ってください。

■実行例

ファイル復元を実施したあと、データベースを再作成します。メタデータファイルはD:\SQLSVR\DB01.swsrp-dmpなどに復元されるので、このファイル名を指定して、業務サーバ(DB-SVR)からコマンドを実行します。
以下の例は、データベースの再作成後、トランザクションログを適用することにより、最新時点または特定時点までデータベースを復元することを想定しているため、-Xnologオプションを指定していません。バックアップ時点の状態にデータベースを復元させる場合は、-Xnologオプションを指定してください。

C:\>C:\Win32App\AdvancedCopyManager\bin\swsrprestore_sql -Xserver VSERVER -Xmeta  D:\SQLSVR\DB01.swsrp-dmp DB01
DB01 swsrprestore_sql completed
C:\>C:\Win32App\AdvancedCopyManager\bin\swsrprestore_sql -Xserver VSERVER -Xmeta  D:\SQLSVR\DB02.swsrp-dmp DB02
DB02 swsrprestore_sql completed
C:\>C:\Win32App\AdvancedCopyManager\bin\swsrprestore_sql -Xserver VSERVER -Xmeta  D:\SQLSVR\DB03.swsrp-dmp DB03
DB03 swsrprestore_sql completed
C:\>

ポイント

SQL Serverリストア実行コマンドが正常に終了すると、メタデータファイルは自動的に削除されます。

データベースのリカバリ(最新時点または特定時点への復旧を行う場合だけ)

最新時点または特定時点までの復旧を行う場合、Management Studioからログを適用してください。操作方法は、『SQL Server Books Online』の「トランザクション ログ バックアップを復元する方法(SQL Server Management Studio)」または「特定の時点まで復元する方法 (SQL Server Management Studio)」を参照してください。

また、msdbのバックアップ履歴が消失した場合などManagement Studioからログ適用を実施できない場合は、Transact-SQLにより、ログ適用を実施してください。操作方法は、『SQL Server Books Online』の「トランザクションログバックアップを適用する方法(Transact-SQL)」を参照してください。

10.4.2.3 運用状況の確認

コピー状況の確認はswsrpstatコマンドで行います。また、データベースバックアップの履歴はmsdbデータベースに記録されています。最新バックアップ時刻は、Management Studioのツリー画面で対象データベースを右クリック後、「プロパティ」を選択することにより参照できます。

10.4.2.4 運用の停止

実行中のコピー処理を停止する場合は、swsrpcancelコマンドを使用します。

■実行例

実行中の同期処理を停止します。業務サーバ(DB-SVR)からコマンドを実行します。

レプリケーショングループを使用する場合は、-Xgroupオプションを指定します。

C:\>C:\Win32App\AdvancedCopyManager\bin\swsrpcancel -Xgroup grp1
GROUP=grp1 swsrpcancel completed
C:\>

10.4.2.5 クラスタ運用

AdvancedCopy Managerでは、Windows Server(R) Failover Clustering(WSFC)によるクラスタシステム運用をサポートしています。AdvancedCopy Managerにおけるクラスタ運用に関する一般的な情報は、「15.1.5 クラスタ運用時の注意事項」を参照してください。