SQL Serverデータベースバックアップのリストア
SnapCenter を使用して、バックアップされた SQL Server データベースをリストアできます。データベースリストアは複数の段階からなるプロセスで、指定したSQL Serverバックアップのすべてのデータページとログページが指定したデータベースにコピーされます。
-
バックアップしたSQL Serverデータベースは、バックアップが作成されたホスト上の別のSQL Serverインスタンスにリストアできます。
本番バージョンを置き換えないように、 SnapCenter を使用して、バックアップされた SQL Server データベースを別のパスにリストアすることができます。
-
SnapCenter では、 SQL Server クラスタグループをオフラインにすることなく、 Windows クラスタ内のデータベースをリストアできます。
-
リストア処理中にクラスタ障害(クラスタグループの移動処理)が発生した場合(リソースを所有するノードがダウンした場合など)は、SQL Serverインスタンスに再接続してからリストア処理を再開する必要があります。
-
ユーザまたはSQL Server Agentジョブがデータベースにアクセスしている間は、データベースをリストアできません。
-
システムデータベースは別のパスにリストアできません。
-
scripts_pathは、プラグインホストのSMCoreServiceHost.exe.ConfigファイルにあるPredefinedWindowsScriptsDirectoryキーを使用して定義します。
必要に応じて、このパスを変更してSMcoreサービスを再起動できます。セキュリティを確保するために、デフォルトのパスを使用することを推奨します。
キーの値は、api/4.7/configsettingsを介してスワッガーから表示できます
GET APIを使用すると、キーの値を表示できます。Set APIはサポートされていません。
-
リストアウィザードの各ページのフィールドのほとんどはわかりやすいもので、説明を必要としません。以下の手順では、説明が必要なフィールドを取り上げます。
-
SnapMirrorのアクティブな同期のリストア処理では、プライマリの場所からバックアップを選択する必要があります。
-
SnapLockが有効なポリシーの場合、ONTAP 9.12.1以前のバージョンでは、Snapshotロック期間を指定すると、リストアの一環として改ざん防止Snapshotから作成されたクローンにSnapLockの有効期限が継承されます。SnapLockの有効期限が過ぎた時点で、ストレージ管理者がクローンを手動でクリーンアップする必要があります。
-
左側のナビゲーションペインで、 * リソース * をクリックし、リストから適切なプラグインを選択します。
-
[ リソース ] ページで、 [ * 表示 ] リストから [ * データベース * ] または [ * リソースグループ * ] を選択します。
-
リストからデータベースまたはリソースグループを選択します。
トポロジページが表示されます。
-
[ コピーの管理 ] ビューで、ストレージ・システムから [ * バックアップ * ] を選択します。
-
表からバックアップを選択し、アイコンをクリックします 。
-
[Restore Scope]ページで、次のいずれかのオプションを選択します。
オプション 説明 バックアップが作成されたホストにデータベースをリストアする
このオプションは、バックアップが作成されたSQL Serverにデータベースをリストアする場合に選択します。
別のホストへのデータベースのリストア
このオプションは、バックアップを作成するホストまたは別のホストにある別のSQL Serverにデータベースをリストアする場合に選択します。
ホスト名を選択し、データベース名を指定し(オプション)、インスタンスを選択し、リストアパスを指定します。
代替パスに指定するファイル拡張子は、元のデータベースファイルのファイル拡張子と同じである必要があります。 [ リストア範囲 ] ページに [ データベースを別のホストにリストアする *] オプションが表示されない場合は、ブラウザキャッシュをクリアします。
既存のデータベースファイルを使用したデータベースのリストア
このオプションは、バックアップが作成されたホストと同じホストまたは別のホストの代替SQL Serverにデータベースをリストアする場合に選択します。
指定した既存のファイルパスにデータベースファイルがすでに存在している必要があります。ホスト名を選択し、データベース名を指定し(オプション)、インスタンスを選択し、リストアパスを指定します。
-
[Recovery Scope]ページで、次のいずれかのオプションを選択します。
オプション 説明 なし
ログなしでフルバックアップのみをリストアする必要がある場合は、「 * なし」を選択します。
すべてのログバックアップ
フルバックアップ後に使用可能なすべてのログバックアップをリストアするには、「 * all log backups * up-to-the-minute backup restore operation 」を選択します。
次のログバックアップまで:
「ログバックアップによる * 」を選択してポイントインタイムリストア処理を実行します。この場合、選択した日付のバックアップログまで、バックアップログに基づいてデータベースがリストアされます。
次の日付まで
リストアされたデータベースにトランザクション・ログを適用しない日時を指定するには、 [ * までの特定の日付 ] を選択します。
ポイントインタイムリストア処理では、指定した日時以降に記録されたトランザクションログエントリがリストアされません。
カスタムログディレクトリを使用
すべてのログ・バックアップ * 、ログ・バックアップ * 、または * を指定日までに * とログがカスタム・ロケーションにある場合は、 * カスタム・ログ・ディレクトリを使用 * を選択し、ログの場所を指定します。
オプションは、[Restore the database to an alternate host]または[Restore the database using existing database files]*を選択した場合にのみ使用できます。共有パスを使用することもできますが、そのパスにSQLユーザがアクセスできることを確認してください。
カスタムログディレクトリは可用性グループデータベースではサポートされていません。 -
[PreOps]ページで、次の手順を実行します。
-
[PreRestore Options]ページで、次のいずれかのオプションを選択します。
-
[ リストア時に同じ名前でデータベースを上書きする ] を選択して、同じ名前でデータベースをリストアします。
-
データベースをリストアし、既存のレプリケーション設定を保持するには、「 * SQL データベースのレプリケーション設定を保持 * 」を選択します。
-
リストア処理を開始する前にトランザクションログバックアップを作成する場合は、「リストア前にトランザクションログバックアップを作成」を選択します。
-
トランザクションログのバックアップに失敗した場合は、「 * リストアの終了」を選択して、リストア処理を中止します。
-
-
リストアジョブの実行前に実行するオプションのスクリプトを指定します。
たとえば、SNMPトラップの更新、アラートの自動化、ログの送信などを行うスクリプトを実行できます。
プリスクリプトまたはポストスクリプトのパスにドライブまたは共有を含めることはできません。パスはscripts_pathからの相対パスである必要があります。 -
-
[Post Ops]ページで、次の手順を実行します。
-
[Choose database state after restore completes]セクションで、次のいずれかのオプションを選択します。
-
必要なすべてのバックアップを今すぐリストアする場合は、「動作中ですが、追加のトランザクション・ログをリストアできません」を選択します。
これはデフォルトの動作で、コミットされていないトランザクションをロールバックしてデータベースを使用可能な状態にします。バックアップを作成するまで、追加のトランザクションログはリストアできません。
-
[ 非運用時 ] を選択します。ただし、トランザクションログを追加でリストアすることができます。 * を選択すると、コミットされていないトランザクションをロールバックせずに、データベースが非運用状態のままになります。
追加のトランザクションログをリストアできます。データベースはリカバリされるまで使用できません。
-
データベースを読み取り専用モードのままにするには、追加のトランザクションログのリストアに使用できる * 読み取り専用モードを選択します。
このオプションはコミットされていないトランザクションを元に戻しますが、元に戻したアクションをスタンバイファイルに保存して、リカバリ効果を元に戻すことができます。
[ ディレクトリを元に戻す ] オプションが有効になっている場合は、さらに多くのトランザクションログがリストアされます。トランザクションログのリストア処理が失敗した場合は、変更をロールバックできます。詳細については、SQL Serverのドキュメントを参照してください。
-
-
リストアジョブの実行後に実行するオプションのスクリプトを指定します。
たとえば、SNMPトラップの更新、アラートの自動化、ログの送信などを行うスクリプトを実行できます。
プリスクリプトまたはポストスクリプトのパスにドライブまたは共有を含めることはできません。パスはscripts_pathからの相対パスである必要があります。 -
-
[ 通知 ] ページの [ 電子メールの設定 *] ドロップダウンリストから、電子メールを送信するシナリオを選択します。
また、送信者と受信者のEメールアドレス、およびEメールの件名を指定する必要があります。
-
概要を確認し、 [ 完了 ] をクリックします。
-
[ * Monitor * > * Jobs * ] ページを使用してリストア・プロセスを監視します。
-
Open-SmConnectionコマンドレットを使用して、指定したユーザのSnapCenterサーバとの接続セッションを開始します。
PS C:\> Open-Smconnection
-
Get-SmBackupおよびGet-SmBackupReportコマンドレットを使用して、リストアする1つ以上のバックアップに関する情報を取得します。
次に、使用可能なすべてのバックアップに関する情報を表示する例を示します。
PS C:\> Get-SmBackup BackupId BackupName BackupTime BackupType -------- ---------- ---------- ---------- 1 Payroll Dataset_vise-f6_08... 8/4/2015 11:02:32 AM Full Backup 2 Payroll Dataset_vise-f6_08... 8/4/2015 11:23:17 AM
この例では、2015年1月29日から2015年2月3日までのバックアップに関する詳細情報を表示しています。
PS C:\> Get-SmBackupReport -FromDateTime "1/29/2015" -ToDateTime "2/3/2015" SmBackupId : 113 SmJobId : 2032 StartDateTime : 2/2/2015 6:57:03 AM EndDateTime : 2/2/2015 6:57:11 AM Duration : 00:00:07.3060000 CreatedDateTime : 2/2/2015 6:57:23 AM Status : Completed ProtectionGroupName : Clone SmProtectionGroupId : 34 PolicyName : Vault SmPolicyId : 18 BackupName : Clone_SCSPR0019366001_02-02-2015_06.57.08 VerificationStatus : NotVerified SmBackupId : 114 SmJobId : 2183 StartDateTime : 2/2/2015 1:02:41 PM EndDateTime : 2/2/2015 1:02:38 PM Duration : -00:00:03.2300000 CreatedDateTime : 2/2/2015 1:02:53 PM Status : Completed ProtectionGroupName : Clone SmProtectionGroupId : 34 PolicyName : Vault SmPolicyId : 18 BackupName : Clone_SCSPR0019366001_02-02-2015_13.02.45 VerificationStatus : NotVerified
-
Restore-SmBackupコマンドレットを使用して、バックアップからデータをリストアします。
Restore-SmBackup -PluginCode 'DummyPlugin' -AppObjectId 'scc54.sccore.test.com\DummyPlugin\NTP\DB1' -BackupId 269 -Confirm:$false output: Name : Restore 'scc54.sccore.test.com\DummyPlugin\NTP\DB1' Id : 2368 StartTime : 10/4/2016 11:22:02 PM EndTime : IsCancellable : False IsRestartable : False IsCompleted : False IsVisible : True IsScheduled : False PercentageCompleted : 0 Description : Status : Queued Owner : Error : Priority : None Tasks : {} ParentJobID : 0 EventId : 0 JobTypeId : ApisJobKey : ObjectId : 0 PluginCode : NONE PluginName :
コマンドレットで使用できるパラメータとその説明については、 RUN_Get-Help コマンド NAME を実行して参照できます。または、を参照することもできます "SnapCenter ソフトウェアコマンドレットリファレンスガイド"。