ETERNUS SF AdvancedCopy Manager 運用手引書 13.2 - Microsoft(R) Windows(R) 2000 - - Microsoft(R) Windows Server(R) 2003 - |
目次
索引
![]() ![]() |
第10章 SQL Serverデータベースのバックアップとリストア | > 10.3 バックアップ管理機能による運用 |
SQL Serverのデータベースのバックアップ/リストア方法について説明します。
バックアップは以下の手順で実施します。
同期処理の開始(同期型バックアップを行う場合のみ)
データベースのバックアップ
トランザクションログのバックアップ
同期型バックアップによる運用を行う場合、事前に同期処理(EC/REC)を開始しておく必要があります。同期処理の開始はバックアップ同期処理開始コマンド(swststartsync)で行います。データベースが複数ボリューム構成である場合は、全てのデータベースボリュームについて処理を実施する必要があります。
■実行例
全てのデータベースボリュームの同期処理を開始します。
C:\>set SWSTGNODE=nodeAGT |
SQL Serverのデータベースバックアップは、SQL Serverバックアップ実行コマンド(swstbackup_sqlsvr)で行います。
スナップショットバックアップでは、トランザクションログの切り捨ては行われません。そのため、バックアップ運用をデータベースバックアップのみで構成する場合においても、トランザクションログの切り捨てのためのログバックアップは定期的に実施してください。詳細については、『SQL Server Books Online』の「トランザクションログの切り捨て」の項を参照してください。
SQL Serverバックアップ実行コマンド(swstbackup_sqlsvr)が複数ボリューム構成のデータベースをバックアップ実行コマンド(swstbackup)によって処理している間にエラーが発生すると、その時点で処理を中断し、AdvancedCopy Managerのバックアップ履歴情報が不揃いになる可能性があります。そのような不整合状態を解消するには、履歴情報削除コマンド(swsthistdel)を使用して不要な履歴情報を削除してください。既に複製処理がなされたボリュームに対しては、エラー原因への対処の後、同期処理開始コマンド(swststartsync)を使って、同期処理を再開してください。
■実行例
データベースDB01、DB02、DB03のバックアップを実施します。同期型バックアップの場合は、バックアップ同期処理実行状況表示コマンド(swstsyncstat)で全データベースボリュームの同期処理が等価性維持状態(Execute欄が“100%”)になっていることを確認してください。デバイスマップファイル名がG:\SQLADM\devmap.txtであるとして、業務サーバ(DB-SVR)からコマンドを実行します。
C:\>set SWSTGNODE=nodeAGT |
SQL Serverバックアップ実行コマンド(swstbackup_sqlsvr)をサスペンド指定で実施すると、Suspend/Resume機能により、等価性維持状態を一時停止(サスペンド)してバックアップを行います。Suspend/Resume機能については、「Suspend/Resume機能によるバックアップ運用」を参照してください。
トランザクションログのバックアップは、SQL Server 2000/2005のEnterprise ManagerまたはTransact-SQLで行います。
SQL Server 2000/2005のデータベースの復旧は、以下の手順から構成されます。
トランザクションログのバックアップ(最新時点への復旧を行う場合のみ)
データベースのリストア
データベースのリカバリ(最新時点または特定時点への復旧を行う場合のみ)
最新時点への復旧を行う場合は、ログバックアップを実施してください(NO_TRUNCATE 句を指定した BACKUP LOG ステートメントを実行し、現在アクティブなトランザクション ログをバックアップします)。ログバックアップを実施しなかった場合、または、ログバックアップが実施できない障害の場合は、最新時点への復旧はできません。障害発生前の最新のログバックアップを使用してデータベースリカバリを行ってください。
データベースのリストアは以下の2つの作業を実施することによって行われます。
ファイルの復元
データベースの再作成
あるユーザー(ログイン)の既定のデータベースが、リストア対象のデータベースに設定されている場合は、上記作業を行う前にそのユーザーの既定のデータベースをmasterデータベースに変更する必要があります。この場合のリストア手順は以下のとおりです。
既定のデータベースをリストア対象データベースからmasterに変更する。
「ファイルの復元」作業を実施する。
「データベースの再作成」作業を実施する。
既定のデータベースをmasterからリストア対象データベースに変更する。
既定のデータベースはEnterprise Managerで変更することができます。
サーバー グループを展開し、サーバーを展開します。
[セキュリティ] フォルダを展開し、[ログイン] をクリックします。
詳細ペインで、変更するログインを右クリックし、[プロパティ] をクリックします。
[全般] タブの [データベース] ボックスの一覧で、SQL Serverのインスタンスにログインした後にログインが接続する新しい既定のデータベースをクリックします。(上記の変更方法は、『SQL Server Books Online』の「SQL Serverの管理」→「セキュリティの管理」→「セキュリティ アカウントの管理」→「ログインの変更」の「ログインの既定のデータベースを変更するには」に記載されています)
全データベースファイル(データファイルとログファイル)を復元します。
ログファイルのみの復元はできません。
全データベースファイルの復元は以下の手順で行います。
手順 |
手順名 |
説明 |
---|---|---|
1 |
データベース削除 |
Enterprise Managerでデータベースを削除します。ログの適用を行う場合、「データベースのバックアップと復元ヒストリ」は削除しないようにしてください。誤って削除すると、Enterprise Managerによるログの適用が不可能になります。その場合はTransact-SQLでログを適用してください。 なお、リストア後のデータベースの所有者は、後述する「データベースの再作成」を実行したユーザーとなります。データベースの再作成を実行するユーザーとリストア前のデータベースの所有者が異なる場合は、データベースの再作成を実行した後、所有者の変更作業を行う必要があります。そのため、データベースの削除を実施する前に、現在のデータベースの所有者を確認し、記録してください。 |
2 |
リストア実行コマンドの実施 |
全ファイルが配置されている業務ボリュームについて、リストア実行コマンド(swstrestore)を実行します。 |
データベースファイルとともにメタデータファイルも復元されます。ファイル識別番号1のデータベースファイルと同一のフォルダに復元されます。
AdvancedCopy Managerのバックアップボリュームのデータをさらにテープ装置へ退避する運用を行っている場合、リストア実行コマンドを使わずにテープ装置からデータベースボリュームへ直接ファイル復元を行うこともできます。
■実行例
データベースを削除した後、リストア実行コマンド(swstrestore)を使用することによって、ファイル復元を行います。
C:\>set SWSTGNODE=nodeAGT |
データベースの再作成は、SQL Serverリストア実行コマンド(swstrestore_sqlsvr)で行います。以下のリストア方法を選択できます。
最新時点または特定時点までの復旧
バックアップ時点への復旧
リストア後のデータベースの所有者は、データベースの再作成を実行したユーザーになります。データベースの再作成を実行したユーザーとリストア前のデータベースの所有者が異なる場合は、ストアド プロシージャ:sp_changedbownerを使用して所有者の変更を行ってください。
■実行例
ファイル復元を実施した後、データベースを再作成します。メタデータファイルはD:\SQLSVR\DB01.swst-dmp等に復元されますので、このファイルを指定してコマンドを実行します。
C:\>C:\Win32App\AdvancedCopyManager\bin\swstrestore_sqlsvr -Xserver VSERVER -Xmeta D:\SQLSVR\DB01.swst-dmp DB01 |
最新時点または特定時点までの復旧を行う場合、Enterprise Managerからログを適用してください。操作方法については、『SQL Server Books Online』の「トランザクションログバックアップを適用する方法(Enterprise Manager)」を参照してください。
また、msdbのバックアップ履歴が消失した場合などEnterprise Managerからログ適用を実施できない場合は、Transact-SQLにより、ログ適用を実施してください。操作方法は、『SQL Server Books Online』の「トランザクションログバックアップを適用する方法(Transact-SQL)」を参照してください。
コピー状況の確認はバックアップ同期処理実行状況表示コマンド(swstsyncstat)、バックアップ実行状況表示コマンド(swstbackstat)、リストア実行状況表示コマンド(swstreststat)で行います。また、データベースバックアップの履歴はmsdbデータベースに記録されています。最新バックアップ時刻は、Enterprise Managerのツリー画面で対象データベースを右クリック後、「プロパティ」を選択することにより参照できます。
実行中のコピー処理を停止する場合は、バックアップ同期処理キャンセルコマンド(swstcancelsync)、履歴情報削除コマンド(swsthistdel)、リストアキャンセルコマンド(swstcancelrest)を使用します。
■実行例
実行中のバックアップ同期処理を停止します。
C:\>set SWSTGNODE=nodeAGT |
AdvancedCopy Managerでは、Microsoft Clustering Service(MSCS)によるクラスタシステム運用をサポートしています。AdvancedCopy Managerにおけるクラスタ運用に関する一般的な情報については、「クラスタ運用時の注意事項」を参照してください。
目次
索引
![]() ![]() |