Kopieren von Transaktionsprotokoll-Backups - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Kopieren von Transaktionsprotokoll-Backups

Rufen Sie die gespeicherte Prozedur rds_tlog_backup_copy_to_S3 auf, um eine Reihe verfügbarer Transaktionsprotokoll-Backups für eine einzelne Datenbank in Ihren Amazon-S3-Bucket zu kopieren. Die gespeicherte Prozedur rds_tlog_backup_copy_to_S3 initiiert eine neue Aufgabe zum Kopieren von Transaktionsprotokoll-Backups.

Anmerkung

Die gespeicherte Prozedur rds_tlog_backup_copy_to_S3 kopiert die Transaktionsprotokoll-Backups, ohne sie anhand eines is_log_chain_broken-Attributs zu validieren. Aus diesem Grund sollten Sie eine ununterbrochene Protokollkette manuell bestätigen, bevor Sie di gespeicherte Prozedur rds_tlog_backup_copy_to_S3 ausführen. Weitere Erläuterungen finden Sie unter Validierung der Backup-Protokollkette des Transaktionsprotokolls.

Beispiel Verwendung der gespeicherten Prozedur rds_tlog_backup_copy_to_S3
exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='mydatabasename', [@kms_key_arn='arn:aws:kms:region:account-id:key/key-id'], [@backup_file_start_time='2022-09-01 01:00:15'], [@backup_file_end_time='2022-09-01 21:30:45'], [@starting_lsn=149000000112100001], [@ending_lsn=149000000120400001], [@rds_backup_starting_seq_id=5], [@rds_backup_ending_seq_id=10];

Die folgenden Eingabeparameter sind verfügbar:

Parameter Beschreibung

@db_name

Der Datenbankname, der zum Kopieren der Transaktionsprotokoll-Backups angegeben wurde

@kms_key_arn

Ein vom Kunden verwalteter KMS Schlüssel. Wenn Sie Ihre DB-Instance mit einem AWS verwalteten KMS Schlüssel verschlüsseln, müssen Sie einen vom Kunden verwalteten Schlüssel erstellen. Wenn Sie Ihre DB-Instance mit einem vom Kunden verwalteten Schlüssel verschlüsseln, können Sie denselben KMS Schlüssel verwenden. ARN

@backup_file_start_time

Der UTC Zeitstempel, wie er in der [backup_file_time_utc] Spalte der rds_fn_list_tlog_backup_metadata Funktion angegeben wurde.

@backup_file_end_time

Der UTC Zeitstempel, wie er aus der [backup_file_time_utc] Spalte der rds_fn_list_tlog_backup_metadata Funktion bereitgestellt wurde.

@starting_lsn

Die Protokoll-Sequenznummer (LSN), wie sie aus der [starting_lsn] Spalte der rds_fn_list_tlog_backup_metadata Funktion bereitgestellt wurde

@ending_lsn

Die Protokollsequenznummer (LSN), wie sie in der [ending_lsn] Spalte der rds_fn_list_tlog_backup_metadata Funktion angegeben wurde.

@rds_backup_starting_seq_id

Die Protokollsequenz-ID, wie sie in der Spalte [rds_backup_seq_id] der Funktion rds_fn_list_tlog_backup_metadata angegeben ist.

@rds_backup_ending_seq_id

Die Protokollsequenz-ID, wie sie in der Spalte [rds_backup_seq_id] der Funktion rds_fn_list_tlog_backup_metadata angegeben ist.

Sie können entweder einen Satz von Zeit- oder Sequenz-ID-Parametern angeben. LSN Es ist nur ein Satz von Parametern erforderlich.

Sie können auch nur einen einzelnen Parameter in einem der Sätze angeben. Wenn Sie beispielsweise nur einen Wert für den backup_file_end_time-Parameter angeben, werden alle verfügbaren Transaktionsprotokoll-Backupdateien vor diesem Zeitpunkt innerhalb des Sieben-Tage-Limits in Ihren Amazon-S3-Bucket kopiert.

Im Folgenden sind die gültigen Eingabeparameterkombinationen für die gespeicherte Prozedur rds_tlog_backup_copy_to_S3 aufgeführt.

Angegebene Parameter Erwartetes Ergebnis
exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name = 'testdb1', @backup_file_start_time='2022-08-23 00:00:00', @backup_file_end_time='2022-08-30 00:00:00';

Kopiert Transaktionsprotokoll-Backups der letzten sieben Tage und liegt zwischen dem angegebenen Bereich von backup_file_start_time und backup_file_end_time. In diesem Beispiel kopiert die gespeicherte Prozedur Transaktionsprotokoll-Backups, die zwischen '2022-08-23 00:00:00 'und '2022-08-30 00:00:00' generiert wurden.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name = 'testdb1', @backup_file_start_time='2022-08-23 00:00:00';

Kopiert Transaktionsprotokoll-Backups der letzten sieben Tage und beginnt mit dem angegebenen Wert für backup_file_start_time. In diesem Beispiel kopiert die gespeicherte Prozedur die Transaktionsprotokoll-Backups von '2022-08-23 00:00:00' bis zum letzten Transaktionsprotokoll-Backup.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name = 'testdb1', @backup_file_end_time='2022-08-30 00:00:00';

Kopiert Transaktionsprotokoll-Backups der letzten sieben Tage bis zum angegebenen Wert für backup_file_end_time. In diesem Beispiel kopiert die gespeicherte Prozedur Transaktionsprotokoll-Backups von '2022-08-23 00:00:00' bis '2022-08-30 00:00:00'.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @starting_lsn =1490000000040007, @ending_lsn = 1490000000050009;

Kopiert Transaktionsprotokoll-Backups, die in den letzten sieben Tagen verfügbar sind und zwischen dem angegebenen Bereich von starting_lsn und ending_lsn liegen. In diesem Beispiel kopiert die gespeicherte Prozedur Transaktionsprotokollsicherungen der letzten sieben Tage mit einem LSN Bereich zwischen 1490000000040007 und 1490000000050009.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @starting_lsn =1490000000040007;

Kopiert Transaktionsprotokoll-Backups, die in den letzten sieben Tagen verfügbar sind, ab dem für starting_lsn angegebenen Wert. In diesem Beispiel kopiert die gespeicherte Prozedur Transaktionsprotokollsicherungen von 1490000000040007 bis zur letzten Transaktionsprotokollsicherung. LSN

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @ending_lsn =1490000000050009;

Kopiert Transaktionsprotokoll-Backups, die in den letzten sieben Tagen verfügbar sind, bis zu dem für ending_lsn angegebenen Wert. In diesem Beispiel kopiert die gespeicherte Prozedur die Transaktionsprotokoll-Backups ab der letzten sieben Tage bis zum LSN-Bereich 1490000000050009.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @rds_backup_starting_seq_id= 2000, @rds_backup_ending_seq_id= 5000;

Kopiert Transaktionsprotokoll-Backups, die in den letzten sieben Tagen verfügbar sind und sich im angegebenen Bereich von rds_backup_starting_seq_id bis rds_backup_ending_seq_id befinden. In diesem Beispiel kopiert die gespeicherte Prozedur Transaktionsprotokoll-Backups ab den letzten sieben Tagen und innerhalb des angegebenen Sequenz-ID-Bereichs für RDS-Backups, beginnend bei seq_id 2000 bis seq_id 5000.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @rds_backup_starting_seq_id= 2000;

Kopiert Transaktionsprotokoll-Backups, die in den letzten sieben Tagen verfügbar sind, ab dem für rds_backup_starting_seq_id angegebenen Wert. In diesem Beispiel kopiert die gespeicherte Prozedur die Transaktionsprotokoll-Backups ab seq_id 2000 bis zum letzten Transaktionsprotokoll-Backup.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @rds_backup_ending_seq_id= 5000;

Kopiert Transaktionsprotokoll-Backups, die in den letzten sieben Tagen verfügbar sind, bis zu dem für rds_backup_ending_seq_id angegebenen Wert. In diesem Beispiel kopiert die gespeicherte Prozedur die Transaktionsprotokoll-Backups ab der letzten sieben Tage bis zu seq_id 5000.

exec msdb.dbo.rds_tlog_backup_copy_to_S3 @db_name='testdb1', @rds_backup_starting_seq_id= 2000; @rds_backup_ending_seq_id= 2000;

Kopiert ein einzelnes Transaktionsprotokoll-Backup mit der angegebenen rds_backup_starting_seq_id, sofern innerhalb der letzten sieben Tage verfügbar. Bei diesem Beispiel kopiert die gespeicherte Prozedur ein einzelnes Transaktionsprotokoll-Backup mit einer seq_id von 2000, falls es innerhalb der letzten sieben Tage existiert.

Validierung der Backup-Protokollkette des Transaktionsprotokolls

Für Datenbanken, die für den Zugriff auf Transaktionsprotokoll-Backups konfiguriert sind, muss die automatische Aufbewahrung von Backups aktiviert sein. Durch die automatische Aufbewahrung von Backups werden die Datenbanken auf der DB-Instance auf das FULL-Wiederherstellungsmodell eingestellt. Um die zeitpunktbezogene Wiederherstellung für eine Datenbank zu unterstützen, sollten Sie das Datenbank-Wiederherstellungsmodell nicht ändern, da dies zu einer fehlerhaften Protokollkette führen kann. Wir empfehlen, die Datenbank auf das FULL-Wiederherstellungsmodell einzustellen.

Um die Protokollkette manuell zu validieren, bevor Sie die Transaktionsprotokoll-Backups kopieren, rufen Sie die rds_fn_list_tlog_backup_metadata-Funktion auf und überprüfen Sie die Werte in der is_log_chain_broken-Spalte. Ein Wert von „1" gibt an, dass die Protokollkette zwischen dem aktuellen Protokoll-Backup und dem vorherigen Protokoll-Backup unterbrochen wurde.

Das folgende Beispiel zeigt eine defekte Protokollkette in der Ausgabe der gespeicherten Prozedur rds_fn_list_tlog_backup_metadata.

Ausgabe von rds_fn_list_tlog_backup_metadata mit Anzeige einer defekten Protokollkette.

In einer normalen Protokollkette sollte der Wert der Protokollsequenznummer (LSN) für first_lsn für die angegebene rds_sequence_id dem Wert von last_lsn in der vorherigen rds_sequence_id entsprechen. In dem Bild hat die rds_sequence_id 45 einen first_lsn-Wert von 90987, was nicht mit dem last_lsn-Wert von 90985 für den vorangegangenen Wert von rds_sequence_id 44 übereinstimmt.

Weitere Informationen zur SQL Server-Transaktionsprotokollarchitektur und zu den Protokollsequenznummern finden Sie unter Logische Transaktionsprotokollarchitektur in der Microsoft SQL Server-Dokumentation.