SQL サーバの復元の概要や手順について、下記をご参照ください。
また、全て最新の Phoenix エージェントがインストールされていることをご確認ください。
<事前に確認すること>
- マスターデータベースへの復元は、「Restore database files」オプションでのみ可能です。マスターデータベースの破損を防ぐためです。
- ステータスが「復元中」のデータベースの復元は失敗する可能性があります。復元するデータベースが復元状態になっていないことを確認してください。
- 復元先のドライブに十分な空き容量があるかご確認ください。
- Owner や Broker などデータベースの属性の復元はサポート対象外です
- 圧縮フォルダへの復元や特殊文字を含んだデータベースの復元はサポート対象外です
- 復元やバックアップ中にサーバが再起動された場合、復元やバックアップが中断される可能性があります
<別の SQL サーバに復元する>
MS-SQLサーバーエージェント4.6.5以前の場合
- 別のサーバに復元する場合は、このサーバが MS-SQL サーバーとして構成されていることを確認してください。
- データベースファイルの復元中に、Phoenixは database_files.txt ファイルを <Drive>\restore\<snapshot>\<Request ID> に作成します。このファイルには、データベースファイルがデータベースにマップされる方法、およびデータベースが Unicode 形式でインスタンスにマップされる方法の詳細が含まれています。別のサーバーに復元するときに、データベースをインスタンスに手動で接続するには、このファイルが必要です。
MS-SQLサーバーエージェント4.6.6以降の場合
- データベースは、任意のサーバ上の MS-SQL インスタンスに直接復元できます。ただし、最新の MS-SQL サーバーエージェントがすべてのサーバーにインストールされていることを確認してください。最新のエージェントがインストールされていない場合、それぞれの復元ポイントを復元することはできません。
- Phoenixは、バージョン 4.7.1 より古いクライアントでの AG データベースの復元をサポートしていません。
- データベースをあるバージョンの MS-SQL サーバーから別のバージョンに復元する場合は、データベースの互換性を変更する必要があります。
- データベースの暗号化に使用される証明書とキーが、データベースの復元先の SQL サーバーに存在することを確認してください。
<復元に関する考慮事項>
- ホットスナップショットは、Phoenix Cloud Cacheの構成時に指定した期間、PhoenixCloudCacheに存在します 。
- グループ管理者の場合は、管理している管理グループに属するサーバーにのみデータを復元できます。クラウド管理者とデータ保護責任者は、すべての管理グループのサーバーにデータを復元できます。
- 復元時にネットワーク接続に障害が発生した場合、エージェントは Cloud への接続を試みます。接続の復元後、エージェントは、中断された状態から復元を再開します。
- スタンドアロンインスタンスのバックアップセットのスナップショットタイムスタンプは、サーバーのタイムゾーンに従って表示されます。
- AGのバックアップセットのスナップショットタイムスタンプは、バックアップセットの作成時に設定されたタイムゾーンに従って表示されます。
- Phoenixは、マスターを除くユーザーデータベースとシステムデータベースを rst_<データベース名>として復元します。ただし、前回の復元中に同じデータベース名がすでに作成されている場合、データセット名に増分カウンターを追加します。
- 復元時に、Phoenix はデータを <destination path>\<snapshot>\<Request ID>\<Fileset>\<Actual file> に書き込みます。Phoenixが <snapshot>\<Request ID>\<Fileset>\<Actual file> を追加する<destination_path>を指定する必要があり ます。 復元パスの例は次のようになります 。F:\restore\Fri_Feb__6_04_01_59_2015\265\77690254254833a0544ac677149152a92cc3d03a
- <Request ID>フォルダーは、 各復元リクエストを一意に識別します。<RequestID> または以前の復元のサブフォルダー名 は変更しないことを推奨します。
- <destination path> が、完全なパス(<destination path>\<snapshot>\<Request ID>\<Fileset>\<Actual file>) の長さが 260 文字を超えないようにします。
- Phoenixは、master データベースを masterとして復元します。復元を開始するには、 「Restore Database files」オプションを使用します。その後、Phoenix が作成したマスターファイルを使用して、現在のマスターデータベースを置き換える必要があります。命名規則により、マスターデータベースの複数のコピーが同時に存在しないことが保証されます。
- データセットをバックアップから除外しない限り、復元中に作成されたデータセット(rst_<データベース名>_ <counter>)をバックアップします。データベースを除外する方法については 、バックアップポリシーの作成を参照してください。
- 同じエージェントに対して実行中のアクティブなバックアップがある場合、元の場所への復元リクエストはキューに入れられます。
- SQL バックアップセットのスナップショット数は、完全バックアップ、差分バックアップ、およびトランザクションログバックアップによって作成されたスナップショットで構成されます。「Restore Data」ページには、トランザクションログのバックアップによって作成されたスナップショットは表示されません。したがって、「Restore Data」ページに表示される SQL バックアップセットのスナップショットの数は、「Availability group and instance details (Server details)」ページに表示されるスナップショットの数よりも少なくなります。
- Unicode文字(UTF-8)を使用したデータベースのバックアップは、可用性グループ(AG)のすべてのノードで成功します。Unicode 文字を使用したデータベースを AG に復元しても、データベースを AG に追加できません。ただし、データベースの復元はプライマリノードで成功し、Successful with errors ステータスを表示します。
- 復元中、エージェントはサービスアカウント(SQL Windowsログインアカウント)を、復元された特定のデータベースの DB 所有者として保持します。デフォルトでは、サービスにはローカルシステムアカウントがあります。これは組み込みの管理者アカウントであり、SQL ログインセクションでは NT AUTHORITY/SYSTEM とも呼ばれます。それ以外の場合は、Phoenixサービスに使用される別のサービスアカウントにすることができます。
<スナップショットを用いた復元手順>
開発元にて公開しているドキュメントを参照ください。
・Restore SQL server databases using snapshots
<トランザクションログを用いた復元手順>
開発元にて公開しているドキュメントを参照ください。
・Restore a SQL server database using transaction logs