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

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

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

10.3.2.1 バックアップの実行

バックアップは以下の手順で実施します。

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

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

■実行例

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

C:\>C:\Win32App\AdvancedCopyManager\bin\swststartsync  g1d1p1
g1d1p1 swststartsync completed
C:\>C:\Win32App\AdvancedCopyManager\bin\swststartsync  g1d2p1
g1d2p1 swststartsync completed
C:\>C:\Win32App\AdvancedCopyManager\bin\swststartsync  g1d3p1
g1d3p1 swststartsync completed
C:\>

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

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

注意

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

  • swstbackup_sqlsvrコマンドが複数ボリューム構成のデータベースをswstbackupコマンドによって処理している間にエラーが発生すると、その時点で処理を中断し、AdvancedCopy Managerのバックアップ履歴情報が不揃いになる可能性があります。そのような不整合状態を解消するには、swsthistdelコマンドを使用して不要な履歴情報を削除してください。すでに複製処理がなされたボリュームに対しては、エラー原因への対処のあと、swststartsyncコマンドを使って、同期処理を再開してください。

図10.9 バックアップ履歴情報の不整合からの回復

■実行例

データベースDB01、DB02、DB03のバックアップを実施します。同期型バックアップの場合は、swstsyncstatコマンドで全データベースボリュームの同期処理が等価性維持状態(Execute欄が"100%")になっていることを確認してください。デバイスマップファイル名がG:\SQLADM\devmap.txtであるとして、業務サーバ(DB-SVR)からコマンドを実行します。

C:\>C:\Win32App\AdvancedCopyManager\bin\swstbackup_sqlsvr -Xserver VSERVER -Xdevmap G:\SQLADM\devmap.txt DB01 DB02 DB03
DB01 DB02 DB03 swstbackup_sqlsvr completed
C:\>

ポイント

swstbackup_sqlsvrコマンドをサスペンド指定で実施すると、Suspend/Resume機能により、等価性維持状態を一時停止(サスペンド)してバックアップを行います。Suspend/Resume機能は、「第5章 Suspend/Resume機能によるバックアップ運用」を参照してください。

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

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

10.3.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.6 全データベースファイルの復元手順

    手順

    手順名

    説明

    1

    データベース削除

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

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

    2

    リストア実行コマンドの実施

    全ファイルが配置されている業務ボリュームについて、swstrestoreコマンドを実行します。

ポイント

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

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

■実行例

データベースを削除したあと、swstrestoreコマンドを使用することによって、ファイル復元を行います。

C:\>C:\Win32App\AdvancedCopyManager\bin\swstrestore g1d1p1
g1d1p1 swstrestore completed
C:\>C:\Win32App\AdvancedCopyManager\bin\swstrestore  g1d2p1
g1d2p1 swstrestore completed
C:\>C:\Win32App\AdvancedCopyManager\bin\swstrestore  g1d3p1
g1d3p1 swstrestore completed
C:\>

データベースの再作成

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

注意

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

■実行例

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

C:\>C:\Win32App\AdvancedCopyManager\bin\swstrestore_sqlsvr -Xserver VSERVER -Xmeta  D:\SQLSVR\DB01.swst-dmp DB01
DB01 swstrestore_sqlsvr completed
C:\>C:\Win32App\AdvancedCopyManager\bin\swstrestore_sqlsvr -Xserver VSERVER -Xmeta  D:\SQLSVR\DB02.swst-dmp DB02
DB02 swstrestore_sqlsvr completed
C:\>C:\Win32App\AdvancedCopyManager\bin\swstrestore_sqlsvr -Xserver VSERVER -Xmeta  D:\SQLSVR\DB03.swst-dmp DB03
DB03 swstrestore_sqlsvr 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.3.2.3 運用状況の確認

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

10.3.2.4 運用の停止

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

■実行例

実行中のバックアップ同期処理を停止します。

C:\>C:\Win32App\AdvancedCopyManager\bin\swstcancelsync  g1d1p1
g1d1p1 swstcancelsync completed
C:\>C:\Win32App\AdvancedCopyManager\bin\swstcancelsync  g1d2p1
g1d2p1 swsrpcancel completed
C:\>C:\Win32App\AdvancedCopyManager\bin\swstcancelsync  g1d3p1
g1d3p1 swstcancelsync completed
C:\>

10.3.2.5 クラスタ運用

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