Microsoft SQL Serverのログのバックアップのしくみ

トランザクションログのバックアップを実行するために、Veeam Backup & ReplicationはVeeam Guest SQL Log Shipperの実行時コンポーネントをVMゲストOSにインストールします。

このコンポーネントは、トランザクションログのバックアップジョブセッション中に機能し、トランザクションログのバックアップが必要なデータベースに関する情報を収集します。さらに、バックアップ・リポジトリに直接ログを転送できるか、またはVeeam Backup & Replicationがログ転送サーバーを使用する必要があるかについても検知します。トランザクションログのバックアップジョブセッションが終了すると、コンポーネントは停止してVMゲストOSから削除されます。新しいセッションが開始されると、コンポーネントは再びVMゲストOSにインストールされます。

トランザクションログのバックアップは、次の方法で実行されます。

  1. Veeam Backup & Replicationがバックアップの親ジョブを起動します。
  2. バックアップの親ジョブによって、Microsoft SQL Server VMのイメージレベルのバックアップが作成されて、バックアップリポジトリに格納されます。
  3. トランザクションログのバックアップの新しいセッションが開始されます。Veeam Backup & ReplicationはVMに(直接またはゲストインタラクションプロキシ経由で)アクセスし、ゲスト処理、データベースの情報収集、およびトランザクションログの転送のために、実行時コンポーネントをVMゲストOSにインストールします。
  4. Veeam Backup & Replicationは、Microsoft SQL Serverに現在どのデータベースが存在するかを検出し、構成データベースに保存されている情報を使用してこのデータをマップします。定期的なマッピングによって、この期間内にVeeam Backup & Replicationがトランザクション・ログを処理する必要があるデータベースが明らかになります。

実行時コンポーネントは、トランザクションログファイルをバックアップし、*.bakファイルとして、VMゲストファイルシステムの一時フォルダに保存します。

  1. Veeam Backup & Replicationは、トランザクションログのバックアップのコピーをMicrosoft SQL Server VMの一時フォルダから直接またはログ転送サーバー経由でバックアップリポジトリに転送し、VLBファイルとして保存します。トランザクションログのバックアップコピーがバックアップリポジトリに保存されるとすぐに、Microsoft SQL Server VMの一時フォルダ内に保存されたトランザクションログのバックアップが削除されます。

トランザクションログのバックアップジョブセッションは、バックアップの親ジョブが次に開始されるまで機能し続けます。親ジョブの新しいセッションが開始される場合、トランザクションログのバックアップジョブは現在のセッションを停止します。その後新しいセッションが開始されて、上記の1~5のステップが実行されます。

何らかの理由でログのバックアップ中に処理されなかったトランザクションログは、引き続き一時フォルダに保存され、次のログのバックアップ時に処理されます。残ったログを検出するために、Veeam Backup & Replicationでは一時フォルダ内のログ・ファイルが列挙されます。

トランザクションログのバックアップの新しいセッションが開始されても、バックアップの親ジョブによって新しいリストアポイントが作成されていない場合、トランザクションログのバックアップジョブはアイドル状態のまま、新しいリストアポイントが作成されるまで待ちます。

Microsoft SQL Serverのログのバックアップのしくみ