SQL Server のトランザクション ログをバックアップする方法

SQL データベースは、ERP や GRM のシステムだけでなく、他の数多くのクリティカルなビジネス アプリケーションにとっても、中核となるものです。SQL データベースのダウンタイムやデータの消失は、従業員の何時間にも及ぶ作業時間を無駄にする財政上の損失、取引の解消や収益の損失を意味します。ダウンタイムが発生しても、データをできるだけ最新の状態まで保護するには、SQL トランザクション ログのバックアップをより頻繁に取得する必要があります。ログをバックアップすることにより、SQL Server の可用性が最大化され、任意の時点へのデータベースの復元が可能になります。

トランザクション ログは、ネイティブの Microsoft ツールまたはサードパーティ製ソリューションのいずれかで処理することができます。ネイティブ ツールには、SQL Server Management Studio、Transact-SQL (T-SQL)、SQL Server Agent ジョブ、SQL Server メンテナンス プラン、および PowerShell スクリプトが含まれます。これらのオプションを使用する方法の詳細については、Microsoft の TechNet および  MSDNを参照してください。

ここでは、Veeam を中心に説明します。Veeam Backup & Replication (Veeam Availability Suite の一部) は、SQL Server 全体のバックアップに加えて、トランザクション ログのバックアップを実行します。これは、SQL Server の一貫したバックアップを作成するために application-aware image processing (アプリケーション整合性イメージ処理) を提供し、ログのバックアップと切り捨てをサポートします。仮想化された SQL Server 2012 および SQL Server 2014 の場合、Veeam は、AlwaysOn 可用性グループもサポートします。

データベースのプロパティは、トランザクションのロギングをサポートする必要があります。SQL Server は、復元モデルを使用してトランザクション ログを制御します。単純復旧モデルでは、トランザクション ログがバックアップされないため、特定時点への復元を実行することはできません。Veeam Backup & Replication は、デフォルトでは、単純モードのデータベースをログ プロセス ジョブから除外します。完全復旧モデルまたは一括ログ復旧モデルのデータベースの場合のみ、その変更がトランザクション ログ ファイルに記録され、特定時点への復元が可能になります。データベースが完全復旧モードまたは一括ログ復旧モードであることを確認してください。

Database recovery model

Veeam Backup & Replication では、トランザクション ログのバックアップ ジョブは、SQL Server VM のバックアップ ジョブに含まれるサブタスクです。このため、まず、SQL Server VM のバックアップ ジョブを作成し、設定します。トランザクションレベルで一貫性のある SQL Server のバックアップを作成するには、application-aware image processing (アプリケーション整合性イメージ処理) を有効にします。

Application-aware image processing

[Applications (アプリケーション)] をクリックして、SQL のオプションを設定します。

AAIP options

[Edit (編集)] 設定で、[Process transaction logs with this job (このジョブでトランザクション ログを処理する)] を選択します。

Server processing options

ログ ファイルは、データベースのロードと共にサイズが増大するので、ログ (.LDF) ファイルのサイズを制御するには、トランザクション ログを定期的にバックアップする必要があります。変更の量や頻度によっては、.LDF ファイルがデータベース自体の 2 倍以上の大きさに増大する可能性があります。割り当てられたストレージ スペースが使い果たされると、新しいトランザクションは開始しません。トランザクション ログをバックアップしている場合、ログは切り捨てられ、ストレージ スペースを再利用します。ログのバックアップと切り捨てにより、ストレージ スペースのオーバーフローが防止されます。

Backup jobs

[SQL] タブで、希望するトランザクション ログの管理方法を選択します。使用可能なオプションは、ほとんどすべての SQL 要件に対応します。トランザクションの多い SQL Server データベースの場合、DBA は、15 分以下の間隔でトランザクション ログをバックアップします。ログ ファイルには、データベースへの変更のみが含まれるので、短い RPO を簡単に達成することができます。ログのバックアップは、SQL Server の増分バックアップよりもはるかに高速で、本番環境に影響しません。

SQL Server processing options

Veeam Backup & Replication では、トランザクション ログのバックアップ ジョブは、インターバル バックグラウンド プロセスで、定義されたスケジュールに従って、毎回自動的に開始します。

Background job processing

ログのバックアップは、対応する SQL Server VM のバックアップと共に、.VLB ファイルとしてバックアップ リポジトリに保存されます。

Backup repository

Veeam Backup & Replication は、完全なイメージベースの SQL Server VM のバックアップと、増分チェーンおよびログ バックアップ チェーンを提供します。データベースの復元の場合、Veeam Explorer™ for Microsoft SQL を使用することができます。これは、データベースの復元シナリオとして、最新のバックアップ復元ポイントからの復元、ログの復元による特定時点への復元、およびログの復元による特定のトランザクションへの復元をサポートします。この Veeam ブログには、Rick Vanover 氏が書いた Veeam Explorer による SQL データベースの復元 に関する記事が掲載されています。こちらを強くお勧めします。

最後までお読みいただきありがとうございました。いつも通りですが、コメントをお待ちしております。

Polina Vasileva
Polina Vasileva
Polina Vasileva is an analyst at Veeam, with over nine years of experience in the company. Her primary focus is on the Veeam Backup for Microsoft Office 365 solution and to support its growth, development and enhancements. Follow Polina on LinkedIn.
More about author
Rate the quality of this Article:
5.00 out of 5 based on 1 vote
Please wait...
V10

Better Backup

Faster. Stronger. Smarter

Learn more