ログ配布情報 (SQL Server)
適用対象: SQL Server
SQL Server のログ配布を使用すると、トランザクション ログ バックアップを、プライマリ サーバー インスタンスの プライマリ データベース から、別の セカンダリ サーバー インスタンスの 1 つ以上の セカンダリ データベース に自動的に送信できます。 トランザクション ログ バックアップはセカンダリ データベースごとに個別に適用されます。 オプションで用意する 3 台目のサーバー インスタンス ( 監視サーバー) では、バックアップ操作と復元操作の履歴と状態が記録されます。また、これらの操作がスケジュールどおりに実行されなかった場合に警告を通知することもできます。
メリット
1 つのプライマリ データベースと 1 つ以上のセカンダリ データベース (それぞれ個別の SQL Server インスタンスに存在) で構成されるディザスター リカバリー ソリューションを提供します。
復元ジョブの間のセカンダリ データベースへの制限付きの読み取り専用アクセスをサポートします。
プライマリ サーバーでプライマリ データベースのログをバックアップする時点と、セカンダリ サーバーがそのログ バックアップを復元 (適用) する時点との間に生じる遅延時間をユーザーが指定できます。 たとえば、プライマリ データベースでデータが誤って変更された場合などに、長い遅延が役立ちます。 誤った変更にすぐに気付いた場合、遅延があれば、変更が反映される前に、セカンダリ データベースにあるまだ変更されていないデータを取得できます。
用語と定義
プライマリ サーバー: 実稼働サーバーである SQL Server のインスタンス。
プライマリ データベース: 別のサーバーにバックアップするプライマリ サーバーのデータベース。 SQL Server Management Studio を使用したログ配布構成の管理は、すべてプライマリ データベースから実行されます。
セカンダリ サーバー: プライマリ データベースのウォーム スタンバイ コピーを保持しておく SQL Server のインスタンス。
セカンダリ データベース: プライマリ データベースのウォーム スタンバイ コピー。 セカンダリ データベースは、RECOVERING と STANDBY のどちらかの状態にすることができます。この状態では、データベースを制限付きの読み取り専用アクセスで使用できます。
監視サーバー: ログ配布に関する次の詳細情報をすべて追跡する SQL Server のオプションのインスタンス。
- プライマリ データベースのトランザクション ログが最後にバックアップされた日時
- セカンダリ サーバーでバックアップ ファイルが最後にコピーおよび復元された日時
- バックアップ障害の警告に関する情報
重要
監視サーバーは、一度構成すると、最初にログ配布を削除しない限り変更できません。
backup 仕事: バックアップ操作の実行、ローカル サーバーと監視サーバーへの履歴ログの記録、および古いバックアップ ファイルと履歴情報の削除を行う SQL Server エージェント ジョブ。 ジョブ カテゴリの "ログ配布のバックアップ" は、ログ配布を有効にしたときにプライマリ サーバー インスタンスで作成されます。
コピー仕事: プライマリ サーバーからセカンダリ サーバーの構成可能なコピー先にバックアップ ファイルをコピーし、セカンダリ サーバーと監視サーバーの履歴ログを記録する SQL Server エージェント ジョブ。 ジョブ カテゴリの "ログ配布のコピー" は、データベースでログ配布を有効にしたときに各セカンダリ サーバーのログ配布構成で作成されます。
回復仕事: コピーされたバックアップ ファイルをセカンダリ データベースに復元する SQL Server エージェント ジョブ。 この操作により、ローカル サーバーと監視サーバーの履歴ログが記録され、古いファイルと履歴情報が削除されます。 ジョブ カテゴリの "ログ配布のログ復元" は、データベースでログ配布を有効にしたときにセカンダリ サーバー インスタンスで作成されます。
アラート仕事: Backupと復元操作が指定したしきい値の範囲内で完了しない場合に、プライマリ データベースとセカンダリ データベースに対する警告を通知する SQL Server エージェント ジョブ。 ジョブ カテゴリの "ログ配布の警告" は、データベースでログ配布を有効にしたときに監視サーバー インスタンスで作成されます。
ヒント
警告 1 件につき警告番号を指定する必要があります。 また、警告が発生するとオペレーターに通知されるよう警告を構成してください。
ログ配布の概要
ログ配布は、次に示す 3 つの操作から構成されます。
- プライマリ サーバー インスタンスでトランザクション ログをバックアップする。
- セカンダリ サーバー インスタンスにトランザクション ログ ファイルをコピーする。
- セカンダリ サーバー インスタンスでログ バックアップを復元する。
ログは、複数のセカンダリ サーバー インスタンスに配布できます。 その場合、操作 2. と操作 3. が各セカンダリ サーバー インスタンスに対して繰り返し実行されます。
ログ配布構成は、自動的にはプライマリ サーバーからセカンダリ サーバーにフェールオーバーされません。 プライマリ データベースが使用できなくなった場合は、任意のセカンダリ データベースを手動でオンラインにできます。
セカンダリ データベースをレポート作成に使用できます。
さらに、ログ配布構成の警告を構成できます。
通常のログ配布構成
次の図に、プライマリ サーバー インスタンス、3 台のセカンダリ サーバー インスタンス、および監視サーバー インスタンスを使用するログ配布構成を示します。 この図表に示されているBackup ジョブ、コピー ジョブ、および回復ジョブの実行手順は、次のようになります。
プライマリ サーバー インスタンスがバックアップ ジョブを実行し、プライマリ データベースのトランザクション ログをバックアップします。 このサーバー インスタンスは、次にログ バックアップをプライマリ ログ バックアップ ファイルに配置し、バックアップ フォルダーに送信します。 この図では、バックアップ フォルダーは共有ディレクトリ ("バックアップ共有") にあります。
3 台のセカンダリ サーバー インスタンスは、それぞれのコピー ジョブを実行し、プライマリ ログ バックアップ ファイルをローカルのコピー先フォルダーにコピーします。
各セカンダリ サーバー インスタンスは、それぞれの復元ジョブを実行し、ログ バックアップをローカルのコピー先フォルダーからローカル セカンダリ データベースに復元します。
プライマリ サーバー インスタンスおよびセカンダリ サーバー インスタンスは、それぞれの履歴および状態を監視サーバー インスタンスに送信します。
相互運用性
ログ配布は、 SQL Serverの次の機能またはコンポーネントと共に使用できます。
Note
Always On 可用性グループとデータベースミラーリングは相互排他的です。 これらの機能のいずれかに対して構成されたデータベースを他の機能用に構成することはできません。
注意事項
既知の問題点: メモリ最適化テーブルを含むデータベースでは、回復なしでトランザクション ログ バックアップを実行し、後で回復を使用してトランザクション ログの回復を実行すると、データベースの復元プロセスが応答しなくなる可能性があります。 この問題点は、ログ配布機能にも影響する可能性があります。 この問題を回避するには、回復プロセスを開始する前に SQL Server インスタンスを再起動します。
関連タスク
- SQL Server 2016 へのログ配布のアップグレード (Transact-SQL)
- ログ配布の構成 (SQL Server)
- ログ配布構成へのセカンダリ データベースの追加 (SQL Server)
- ログ配布構成からのセカンダリ データベースの削除 (SQL Server)
- ログ配布の削除 (SQL Server)
- ログ配布レポートの表示 (SQL Server Management Studio)
- ログ配布の監視 (Transact-SQL)
- ログ配布のセカンダリへのフェールオーバー (SQL Server)
- 役割の交代後のログインとジョブの管理 (SQL Server)