SQL Server 2012常時バックアップ、フルvsコピーのみ


8

コピーのみのバックアップと完全バックアップは、トランザクションログの番号付けと必要に応じて復元するため、迅速な説明が必要です。

SQL Server 2012のセットアップで、複数のデータベースに対して常にオンになっています。可用性グループは、レプリカの優先バックアップでセットアップされます。

レプリカでは、コピーのみとトランザクションログのバックアップのみが可能です。これは、トランザクションログの復元が必要な場合、プライマリで完全バックアップを実行する必要があることを意味しますか?

ありがとうございました

回答:


2

レプリカでは、コピーのみとトランザクションログのバックアップのみが可能です

本当です。

これは、トランザクションログの復元が必要な場合、プライマリで完全バックアップを実行する必要があることを意味しますか?

短い答えYES

BOLから:

可用性モード(同期コミットまたは非同期コミット)に関係なく、レプリカ(プライマリまたはセカンダリ)で行われたログバックアップ全体で一貫したログチェーンが保証されます。

したがって、質問に答えるために、COPY_ONLYバックアップは、T-logバックアップを含む(ポイントインタイムリストアを実行する)リストアの一部にすることはできません。その全体の要点は、通常のバックアップチェーンの外にバックアップセットを置き、復元シーケンスに影響を与えないようにすることです。

プライマリデータベースでフルバックアップを実行する必要があります(copy_onlyバックアップにすることはできません)。

CAVEATを使用してプライマリまたはセカンダリのいずれかでTログのバックアップのみを実行できます。これは、PRIMARYのLSNを台無しにすることはありません。つまり、可用性グループのどこでログバックアップをとっても、LSNの一貫性を保ちます。 。

最善の方法はsys.fn_hadr_backup_is_preferred_replica、ログバックアップがログバックアップのAvailablityグループバックアップ設定を使用するようにチェックすることです。

参照:AlwaysOn可用性グループの読み取り専用セカンダリレプリカを使用したトランザクションログバックアップの実行-パート1


2
もちろん、COPY_ONLY完全バックアップを使用して、その上にトランザクションログを適用できます。COPY_ONLY完全バックアップは、他の完全バックアップと構造的に同じです。唯一の違いは、差分ビットマップをリセットしないことです。完全なCOPY_ONLYを復元した後、COPY_ONLYバックアップの最後のLSNを含むトランザクションログで復元を開始し、通常どおりログチェーンを続行できます。
AMtwo 2017

6

これは、トランザクションログの復元が必要な場合、プライマリで完全バックアップを実行する必要があることを意味しますか?

いいえ-COPY_ONLYバックアップの復元にt-logバックアップを追加できます


2

コピーのみの完全バックアップの上にトランザクションログを復元できます。つまり、セカンダリレプリカのコピーのみのバックアップをトランザクションログと共に使用して、ポイントインタイムリカバリを実行できます。

ただし、セカンダリレプリカでコピーのみのバックアップのみを実行している場合、プライマリレプリカの差分ビットマップをリセットするための「実際の」バックアップはありません。差分バックアップがリカバリ戦略の一部である場合は、プライマリで完全バックアップを取る必要があります。差分バックアップを使用したい場合は、差分ベースとして使用するプライマリレプリカで完全バックアップを作成する必要があります。


2

コピーのみのバックアップと、必要な時点までのコピーのみにまたがるログバックアップを使用して、テストに成功しました。すべてのログバックアップが必要です。したがって、バックアップの実行に使用しているレプリカが複数ある場合(フェイルオーバーが発生した場合など)、それらを確認して追跡する必要があります。テストでは、すべてのバックアップが中央の場所に送られるように設定するだけです。SQLは、AG内のすべてのノードでログバックアップのログチェーンを維持します。ここに素晴らしい記事があります... http://info.tricoresolutions.com/blog/understanding-backups-with-sql-server-alwayson-high-availability-mirrors


1

私はトピックについて多くの混乱を抱えていました-AGクラスターでは、コピー後のログバックアップの復元-完全バックアップのみ。

現在は正常に動作しています。セカンダリレプリカからのコピーのみのバックアップを使用できます。

USE [master]
RESTORE DATABASE [xxxxx_testDB] FROM  
DISK = N'D:\Backups\FULL_COPY_ONLY\xxxxx_testDB_FULL_COPY_ONLY.bak' 
WITH  FILE = 1, 
MOVE N'xxxxx_testDB' TO N'D:\testdb\xxxxx_testDB.mdf',  
MOVE N'xxxxx_testDB_log' TO N'D:\testdb\xxxxx_testDB.ldf',  
NORECOVERY

GO


RESTORE LOG xxxxx_testDB
FROM DISK = 'D:\Backups\FULL_COPY_ONLY\xxxxx_testDB_LOG_1.trn'
WITH NORECOVERY; 
GO

RESTORE LOG xxxxx_testDB
FROM DISK = 'D:\Backups\FULL_COPY_ONLY\xxxxx_testDB_LOG_2.trn'
WITH NORECOVERY; 
GO


RESTORE DATABASE xxxxx_testDB WITH RECOVERY
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.