Auf dieser Seite wird beschrieben, wie Sie die Sicherungsdateien erstellen, die für die Migration Ihrer SQL Server-Datenbanken zu Cloud SQL for SQL Server erforderlich sind. Dazu gehören die folgenden Abschnitte:
- Unter Anforderungen und Einschränkungen finden Sie wichtige Einschränkungen für die Unterstützung von Sicherungsdateien.
- Unter Benennungskonventionen werden die Anforderungen an die Dateinamen für Ihre Sicherungsdateien erläutert.
- Vollsicherung erstellen enthält Schritte zum Erstellen von Vollsicherungsdateien.
- Unterschiedliche Sicherungen erstellen enthält Schritte zum Erstellen von Sicherungsdateien für die Differenzsicherung.
- Sicherungsdateien für Transaktionsprotokolle enthält Schritte zum Erstellen von Sicherungsdateien für Transaktionsprotokolle.
Anforderungen und Einschränkungen
Für die Sicherungsdateien, die Sie für die Migration verwenden, gelten die folgenden Anforderungen und Einschränkungen:
Alle Sicherungsdateien müssen Namen haben, die den jeweiligen Namenskonventionen entsprechen.
Sicherungsdateien dürfen maximal 5 TB groß sein.
Sie können die Dateien mit der Voll- oder Differenzsicherung auf kleinere Dateien aufteilen, wenn Ihre Datenbank größer als 5 TB ist. Jede Datei darf maximal 5 TB groß sein.
Sie können verschlüsselte Sicherungs- und Transaktionsprotokolldateien für die Migration verwenden. Wenn Sie verschlüsselte Sicherungsdateien verwenden möchten, müssen Sie alle Sicherungsdateien (Vollsicherung, Differenzsicherung, Transaktionsprotokoll) verschlüsseln, die Sie für eine bestimmte Datenbank verwenden, die in der Migration enthalten ist. Weitere Informationen finden Sie unter Verschlüsselte Sicherungen verwenden.
Der Database Migration Service migriert die SQL Server-Datenbank
master
nicht.Ihre SQL Server-Quell-Instanz kann das einfache Wiederherstellungsmodell nicht verwenden. Weitere Informationen zu Wiederherstellungsmodellen finden Sie in der Microsoft-Dokumentation unter Wiederherstellungsmodelle (SQL Server).
Namenskonventionen
In diesem Abschnitt werden die Anforderungen an Dateinamen für Sicherungsdateien mit vollständigen, differenziellen und Transaktionslogs beschrieben.
Informationen zu den Anforderungen an den Namen und die Struktur von Cloud Storage-Bucket finden Sie unter Cloud Storage-Buckets erstellen und konfigurieren.
Informationen dazu, wie der Database Migration Service verschiedene Arten von Sicherungsdateien bei homogenen SQL Server-Migrationen verwendet, finden Sie unter Unterstützte Sicherungsdateitypen.
Namenskonventionen für Sicherungsdateien für lokale SQL Server-Instanzen
Namen von Dateien mit Vollsicherungen
Die Benennungskonvention für Dateien mit vollständigen Sicherungen hängt davon ab, ob Sie eine einzelne Sicherungsdatei verwenden oder sie in mehrere Streifen unterteilen. In beiden Fällen müssen Sie für Database Migration Service einen Epochenzeitstempel (Unix-Zeitstempel in Sekunden) hinzufügen, der den ungefähren Zeitpunkt der Vollsicherung angibt.
Wenn Ihre vollständige Sicherung eine einzelne Datei ist, muss der Dateiname das Format
db_name.epoch.bak
haben, wobei Folgendes gilt:db_name
ist der Name Ihrer Datenbank.epoch
ist ein Unix-Zeitstempel in Sekunden..bak
ist die Dateiendung
Gültige Beispiele:
my-business-database.1712649600.bak
my-other-database.1712649600.bak
Wenn Sie Ihre Vollsicherung in separate Streifen unterteilen, kann jeder Streifen einen beliebigen Namen haben. Sie müssen jedoch in einen Cloud Storage-Ordner hochgeladen werden, dessen Name ein Unix-Zeitstempel in Sekunden ist:
Cloud Storage bucket root/ |- my-business-database/ | |- full/ | | |- 1712649600/ | | | |- mystripe-full_backup_file.bak | | | |- otherStripefull-bkp.bak | |- diff/ | | |- ... | |- log/ | | |- ... |- my-other-database/ | |- full/ | | |- 1715250742/ | | | |- cool-stripe-file.bak | | | |- secondStripeFile.bak | |- diff/ | | |- ... | |- log/ | | |- ...
Dateinamen für die differenzielle Sicherung
Die Namenskonvention für Differenzialsicherungsdateien hängt davon ab, ob Sie eine einzelne Sicherungsdatei verwenden oder sie in mehrere Streifen aufteilen. In beiden Fällen müssen Sie für Database Migration Service einen Epochenzeitstempel (Unix-Zeitstempel in Sekunden) angeben, der den ungefähren Zeitpunkt der Differenzsicherung angibt.
Wenn die Differenzsicherung eine einzelne Datei ist, muss der Dateiname das Format
db_name.epoch.ext
haben, wobei Folgendes gilt:db_name
ist der Name Ihrer Datenbank.epoch
ist ein Unix-Zeitstempel in Sekunden..ext
ist die Dateiendung. Für die Dateien der inkrementellen Sicherung können die folgenden Dateiendungen verwendet werden:.bak
,.dif
,.diff
.
Gültige Beispiele:
my-business-database.1731159833.bak
my-other-database.1731159833.dif
Wenn Sie Ihre Differenzsicherung in separate Streifen unterteilen, kann jeder Streifen einen beliebigen Namen haben. Sie müssen jedoch in einen Cloud Storage-Ordner hochgeladen werden, dessen Name ein Unix-Zeitstempel in Sekunden ist:
Cloud Storage bucket root/ |- my-business-database/ | |- full/ | | |- ... | |- diff/ | | |- 1731159833/ | | | |- mydiffstripe-diff_backup_file.dif | | | |- mySeconddiffstripe-diff_backup_file.bak | |- log/ | | |- ... |- my-other-database/ | |- full/ | | |- ... | |- diff/ | | |- 1731159833/ | | | |- firstDiffStripe.bak | | | |- other_diff_stripe.diff | |- log/ | | |- ...
Namen von Dateien mit Transaktionslogs
Die Namen von Dateien mit Transaktionslogs müssen das Format db_name.epoch.trn
haben, wobei Folgendes gilt:
db_name
ist der Name Ihrer Datenbank.epoch
ist ein Unix-Zeitstempel in Sekunden..bak
ist die Dateiendung
Gültige Beispiele:
my-business-database.1712649600.trn
my-other-database.1712649600.trn
Namenskonventionen für Sicherungsdateien für Amazon RDS
Namen von Dateien mit Vollsicherungen
Die Benennungskonvention für Dateien mit vollständigen Sicherungen hängt davon ab, ob Sie eine einzelne Sicherungsdatei verwenden oder sie in mehrere Streifen unterteilen. In beiden Fällen müssen Sie für Database Migration Service einen Epochenzeitstempel (Unix-Zeitstempel in Sekunden) hinzufügen, der den ungefähren Zeitpunkt der Vollsicherung angibt.
Wenn Ihre vollständige Sicherung eine einzelne Datei ist, muss der Dateiname das Format
db_id.family_guid.rds_backup_seq_id.epoch.bak
haben, wobei Folgendes gilt:db_id
ist die interne Amazon RDS-Datenbankkennung.family_guid
ist die eindeutige Amazon RDS-Kennung der ursprünglichen Datenbank zum Zeitpunkt der Erstellung.rds_backup_seq_id
ist die Kennung, die Amazon RDS intern verwendet, um eine Sequenznummer für jede Sicherungsdatei mit Transaktionslogs zu führen.epoch
ist ein Unix-Zeitstempel in Sekunden..bak
ist die Dateiendung
Gültige Beispiele:
3.CX11CB3D-G2E4-46D9-B462-CE40CDA97E89.22.1712649600.bak
1.FD21CD3F-B5E4-27Z9-B462-CE40CDA97E89.21.1712649600.bak
Wenn Sie Ihre Vollsicherung in separate Streifen unterteilen, kann jeder Streifen einen beliebigen Namen haben. Sie müssen jedoch in einen Cloud Storage-Ordner hochgeladen werden, dessen Name ein Unix-Zeitstempel in Sekunden ist:
Cloud Storage bucket root/ |- my-business-database/ | |- full/ | | |- 1712649600/ | | | |- mystripe-full_backup_file.bak | | | |- otherStripefull-bkp.bak | |- diff/ | | |- ... | |- log/ | | |- ... |- my-other-database/ | |- full/ | | |- 1715250742/ | | | |- cool-stripe-file.bak | | | |- secondStripeFile.bak | |- log/ | | |- ...
Dateinamen für die differenzielle Sicherung
Die Namenskonvention für Differenzialsicherungsdateien hängt davon ab, ob Sie eine einzelne Sicherungsdatei verwenden oder sie in mehrere Streifen aufteilen. In beiden Fällen müssen Sie für Database Migration Service einen Epochenzeitstempel (Unix-Zeitstempel in Sekunden) angeben, der den ungefähren Zeitpunkt der Differenzsicherung angibt.
Wenn die Differenzsicherung eine einzelne Datei ist, muss der Dateiname das Format
db_id.family_guid.rds_backup_seq_id.epoch.ext
haben, wobei Folgendes gilt:db_id
ist die interne Amazon RDS-Datenbankkennung.family_guid
ist die eindeutige Amazon RDS-Kennung der ursprünglichen Datenbank zum Zeitpunkt der Erstellung.rds_backup_seq_id
ist die Kennung, die Amazon RDS intern verwendet, um eine Sequenznummer für jede Sicherungsdatei mit Transaktionslogs zu führen.epoch
ist ein Unix-Zeitstempel in Sekunden..bak
ist die Dateiendung. Für die Dateien der inkrementellen Sicherung können die folgenden Dateiendungen verwendet werden:.bak
,.dif
,.diff
.
Gültige Beispiele:
3.CX11CB3D-G2E4-46D9-B462-CE40CDA97E89.22.1731159833.bak
1.FD21CD3F-B5E4-27Z9-B462-CE40CDA97E89.21.1731159833.dif
Wenn Sie Ihre Vollsicherung in separate Streifen unterteilen, kann jeder Streifen einen beliebigen Namen haben. Sie müssen jedoch in einen Cloud Storage-Ordner hochgeladen werden, dessen Name ein Unix-Zeitstempel in Sekunden ist:
Cloud Storage bucket root/ |- my-business-database/ | |- full/ | | |- ... | |- diff/ | | |- 1731159833/ | | | |- mydiffstripe-diff_backup_file.dif | | | |- mySeconddiffstripe-diff_backup_file.bak | |- log/ | | |- ... |- my-other-database/ | |- full/ | | |- ... | |- diff/ | | |- 1731159833/ | | | |- firstDiffStripe.bak | | | |- other_diff_stripe.diff | |- log/ | | |- ...
Namen von Dateien mit Transaktionslogs
In Amazon RDS werden Sicherungsdateien mit Transaktionslogs automatisch generiert. Sie enthalten alle erforderlichen Datenbankkennungen.
Diese Standardnamen umfassen den Epochenzeitstempel und werden in Database Migration Service vollständig unterstützt. Sie können diese Dateien direkt in den Ordner /log/
hochladen.
Vollständige Sicherung der Quellinstanz erstellen
Die Sicherungsdatei der vollständigen Datenbank ist für die anfängliche Ladephase des Migrationsjobs erforderlich. Wenn Sie Ihre Sicherungen verschlüsseln möchten, müssen Sie den Verschlüsselungsschlüssel speichern, damit Sie ihn später beim Erstellen des Migrationsjobs in Cloud Storage hochladen können. Weitere Informationen finden Sie unter Verschlüsselte Sicherungen verwenden.
Vollständige Sicherung für lokale SQL Server-Instanzen erstellen
Sie können eine vollständige Sicherung Ihrer lokalen SQL Server-Instanz mit T-SQL oder SQL Server Management Studio (SSMS) erstellen. Gehen Sie so vor:
- Sie müssen die folgenden Anforderungen erfüllen:
- Sie verwenden die richtigen Benennungsanforderungen für Ihre Sicherungsdateien.
- Ihre Quelldatenbanken verwenden nicht das einfache Wiederherstellungsmodell. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter Wiederherstellungsmodelle (SQL Server) .
- Wenn Ihre Datenbank größer als 5 TB ist, müssen Sie die Vollsicherung in separate Stripe-Sets aufteilen. Jede Datei darf maximal 5 TB groß sein. Weitere Informationen finden Sie unter Geräte in einem Stripesetmedium (Stripeset) sichern.
- Erstellen Sie eine vollständige Sicherung Ihrer Quellinstanz. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter
Kurzanleitung: SQL Server-Datenbank mit SSMS sichern und wiederherstellen. Sie können auch die folgenden Beispielbefehle ausprobieren:
Beispiel für einen T-SQL-Befehl für eine einzelne Datei mit einer vollständigen Sicherung
Mit diesem Beispielbefehl wird eine vollständige Sicherung der Datenbank
AdventureWorks2022
erstellt. Die resultierende Sicherungsdatei verwendet die erforderliche Namenskonvention.declare @DATABASE varchar(1000); SELECT @DATABASE = 'AdventureWorks2022'; declare @unixTimestamp varchar(1000); SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50)); BACKUP DATABASE @DATABASE TO DISK = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '.bak'; GO
Beispiel für einen T-SQL-Befehl für stripeierte Dateien mit einer vollständigen Sicherung
Mit diesem Beispielbefehl wird eine vollständige Sicherung der Datenbank
AdventureWorks2022
erstellt. Die resultierende Sicherungsdatei verwendet die erforderliche Namenskonvention.declare @DATABASE varchar(1000); SELECT @DATABASE = 'AdventureWorks2022'; declare @unixTimestamp varchar(1000); SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50)); BACKUP DATABASE @DATABASE TO DISK = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '\stripe1.bak', DISK = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '\stripe2.bak', DISK = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '\stripe3.bak' WITH FORMAT, MEDIANAME = 'AdventureWorksStripedSet0', MEDIADESCRIPTION = 'Striped media set for ' + @DATABASE + ' database'; GO
- Laden Sie die Sicherungsdatei in einen Cloud Storage-Bucket hoch. Weitere Informationen finden Sie unter Cloud Storage-Bucket erstellen und konfigurieren.
Vollständige Sicherung für Amazon RDS
So erstellen Sie eine vollständige Sicherung Ihrer Amazon RDS-Quelle:
- Sie müssen die folgenden Anforderungen erfüllen:
- Sie verwenden die richtigen Benennungsanforderungen für Ihre Sicherungsdateien.
- Ihre Quelldatenbanken verwenden nicht das einfache Wiederherstellungsmodell. Weitere Informationen finden Sie in der Amazon RDS-Dokumentation unter Wiederherstellungsmodell für Ihre Microsoft SQL Server-Datenbank bestimmen.
- Wenn Sie die Transaktionsprotokollsicherung nach der vollständigen Sicherung verwenden möchten, aktivieren Sie automatische Sicherungen für Ihre Amazon RDS-Instanz.
- Richten Sie die native Sicherungsfunktion ein. Weitere Informationen finden Sie in der Amazon RDS-Dokumentation unter Einrichtung für native Sicherung und Wiederherstellung.
- Erstellen Sie eine vollständige Sicherung Ihrer Quellinstanz. Wenn die Datenbankgröße 5 TB überschreitet, müssen Sie die Vollsicherung mit dem Parameter
@number_of_files
in separate Stripe-Dateien aufteilen. Jede Datei darf maximal 5 TB groß sein. Weitere Informationen finden Sie in der Amazon RDS-Dokumentation unter Datenbank sichern .Sie können auch den folgenden Beispielbefehl verwenden:
Beispielabfrage für eine vollständige Sicherung in Amazon RDS
Mit diesem Beispielbefehl wird eine vollständige Sicherung der Datenbank
AdventureWorks2022
erstellt. Die resultierende Sicherungsdatei verwendet die erforderliche Namenskonvention.declare @DATABASE varchar(1000); declare @S3Bucket varchar(1000); declare @unixTimestamp varchar(30); declare @fileName varchar(1000); SELECT @S3Bucket = 'dms-sqlserver-exports'; SELECT @DATABASE = 'AdventureWorks2022'; SELECT @unixTimestamp=CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50)); SELECT @fileName = ('arn:aws:s3:::' + @S3Bucket + '/' + @DATABASE + '/full/' + @DATABASE '.' + @unixTimestamp + '/' + CAST(database_id AS VARCHAR(10)) + '.' + CAST(family_guid AS VARCHAR(50)) + '.*.' + @unixTimestamp) FROM master.sys.database_recovery_status WHERE DB_NAME(database_id)=@DATABASE; exec msdb.dbo.rds_backup_database @source_db_name=@DATABASE, @s3_arn_to_backup_to=@fileName, @overwrite_s3_backup_file=1, @type='FULL', @number_of_files=1;
- Laden Sie die Sicherungsdatei in einen Cloud Storage-Bucket hoch. Weitere Informationen finden Sie unter Cloud Storage-Bucket erstellen und konfigurieren.
Differenzielle Sicherung der Quellinstanz erstellen
Sie können eine Sicherungsdatei für eine differenzielle Datenbank während der Phase der inkrementellen Datenübertragung Ihres Migrationsjobs verwenden. Sie können verschlüsselte differenzielle Sicherungsdateien verwenden, wenn Sie auch die vollständige Sicherungsdatei und die Transaktionslogdateien für dieselbe Datenbank verschlüsseln. Alle Sicherungs- und Transaktionsprotokolldateien müssen denselben Verschlüsselungsschlüssel pro Datenbank verwenden. Weitere Informationen finden Sie unter Verschlüsselte Sicherungen verwenden.
Differenzielle Sicherung für lokale SQL Server-Instanzen
Sie können die Differenzsicherung Ihrer lokalen SQL Server-Instanz mit T-SQL oder SQL Server Management Studio (SSMS) erstellen. Gehen Sie so vor:
- Sie müssen die folgenden Anforderungen erfüllen:
- Sie verwenden die richtigen Benennungsanforderungen für Ihre Sicherungsdateien.
- Ihre Quelldatenbanken verwenden nicht das einfache Wiederherstellungsmodell. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter Wiederherstellungsmodelle (SQL Server) .
- Wenn Ihre Datenbank größer als 5 TB ist, müssen Sie die Differenzsicherung in separate Stripe-Dateien aufteilen. Jede Datei darf maximal 5 TB groß sein. Weitere Informationen finden Sie unter Geräte in einem Stripesetmedium (Stripeset) sichern.
- Erstellen Sie eine differenzielle Sicherung Ihrer Quellinstanz. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter
Differenzielle Datenbanksicherung erstellen. Sie können auch die folgenden Beispielbefehle ausprobieren:
Beispiel für einen T-SQL-Befehl für eine einzelne Sicherungsdatei mit Differenzialsicherung
Mit diesem Beispielbefehl wird eine differenzielle Sicherung der Datenbank
AdventureWorks2022
erstellt. Die resultierende Sicherungsdatei verwendet die erforderliche Namenskonvention.declare @DATABASE varchar(1000); SELECT @DATABASE = 'AdventureWorks2022'; declare @unixTimestamp varchar(1000); SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50)); BACKUP DATABASE @DATABASE TO DISK = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '.bak' WITH DIFFERENTIAL; GO
Beispiel für einen T-SQL-Befehl für stripeierte differenzielle Sicherungsdateien
Mit diesem Beispielbefehl wird eine differenzielle Sicherung der Datenbank
AdventureWorks2022
erstellt. Die resultierende Sicherungsdatei verwendet die erforderliche Namenskonvention.declare @DATABASE varchar(1000); SELECT @DATABASE = 'AdventureWorks2022'; declare @unixTimestamp varchar(1000); SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50)); BACKUP DATABASE @DATABASE TO DISK = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '\stripe1.bak', DISK = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '\stripe2.bak', DISK = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '\stripe3.bak' WITH DIFFERENTIAL; WITH FORMAT, MEDIANAME = 'AdventureWorksStripedSet0', MEDIADESCRIPTION = 'Striped differential media set for ' + @DATABASE + ' database'; GO
- Laden Sie die Sicherungsdatei in einen Cloud Storage-Bucket hoch. Weitere Informationen finden Sie unter Cloud Storage-Bucket erstellen und konfigurieren.
Differenzielle Sicherung für Amazon RDS erstellen
So erstellen Sie eine Differenzsicherung Ihrer Amazon RDS-Quelle:
- Sie müssen die folgenden Anforderungen erfüllen:
- Sie verwenden die richtigen Benennungsanforderungen für Ihre Sicherungsdateien.
- Ihre Quelldatenbanken verwenden nicht das einfache Wiederherstellungsmodell. Weitere Informationen finden Sie in der Amazon RDS-Dokumentation unter Wiederherstellungsmodell für Ihre Microsoft SQL Server-Datenbank bestimmen.
- Richten Sie die native Sicherungsfunktion ein. Weitere Informationen finden Sie in der Amazon RDS-Dokumentation unter Einrichtung für native Sicherung und Wiederherstellung.
- Erstellen Sie eine differenzielle Sicherung Ihrer Quellinstanz. Verwenden Sie die gespeicherte Prozedur
rds_backup_database
und legen Sie den Parametertype
aufDIFFERENTIAL
fest.Wenn Ihre Datenbank größer als 5 TB ist, müssen Sie die Vollsicherung mit dem Parameter
@number_of_files
in separate Stripe-Dateien aufteilen. Jede Datei darf maximal 5 TB groß sein.Weitere Informationen finden Sie in der Amazon RDS-Dokumentation unter Datenbank sichern . Sie können auch den folgenden Beispielbefehl verwenden:
Beispielabfrage für eine differenzielle Sicherung in Amazon RDS
Mit diesem Beispielbefehl wird eine differenzielle Sicherung der Datenbank
AdventureWorks2022
erstellt. Die resultierende Sicherungsdatei verwendet die erforderliche Namenskonvention.declare @DATABASE varchar(1000); declare @S3Bucket varchar(1000); declare @unixTimestamp varchar(30); declare @fileName varchar(1000); SELECT @S3Bucket = 'dms-sqlserver-exports'; SELECT @DATABASE = 'AdventureWorks2022'; SELECT @unixTimestamp=CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50)); SELECT @fileName = ('arn:aws:s3:::' + @S3Bucket + '/' + @DATABASE + '/full/' + @DATABASE '.' + @unixTimestamp + '/' + CAST(database_id AS VARCHAR(10)) + '.' + CAST(family_guid AS VARCHAR(50)) + '.*.' + @unixTimestamp) FROM master.sys.database_recovery_status WHERE DB_NAME(database_id)=@DATABASE; exec msdb.dbo.rds_backup_database @source_db_name=@DATABASE, @s3_arn_to_backup_to=@fileName, @overwrite_s3_backup_file=1, @type='DIFFERENTIAL', @number_of_files=1;
- Laden Sie die Sicherungsdatei in einen Cloud Storage-Bucket hoch. Weitere Informationen finden Sie unter Cloud Storage-Bucket erstellen und konfigurieren.
Transaktionslog-Sicherungen erstellen
Sicherungsdateien für Transaktionsprotokolle enthalten die Änderungen, die in Ihrer Quelldatenbank nach der vollständigen Sicherung auftreten. Sicherungen von Transaktionsprotokollen sind für die kontinuierliche Ladephase Ihres Migrationsjobs erforderlich. Sie können regelmäßige Exporte und Uploads von Transaktionslogs planen, damit Datenupdates kontinuierlich in Ihrer Cloud SQL for SQL Server-Zielinstanz repliziert werden. Siehe Transaktionslogsicherungen planen.
Wenn Sie verschlüsselte Sicherungsdateien verwenden, müssen Sie auch die Transaktionsprotokolldateien für dieselbe Datenbank verschlüsseln. Weitere Informationen finden Sie unter Verschlüsselte Sicherungen verwenden.
Transaktionslogsicherung für lokale SQL Server-Instanzen erstellen
So erstellen Sie ein Transaktionsprotokoll-Back-up Ihrer lokalen SQL Server-Datenbanken:
- Sie müssen die folgenden Anforderungen erfüllen:
- Sie verwenden die richtigen Benennungsanforderungen für Ihre Sicherungsdateien.
- Ihre Quelldatenbanken verwenden nicht das einfache Wiederherstellungsmodell. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter Wiederherstellungsmodelle (SQL Server) .
- Exportieren Sie die Transaktionsprotokolldateien aus Ihren SQL Server-Quelldatenbanken. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter
Transaktionsprotokoll sichern.
Sie können auch den folgenden Beispielbefehl verwenden:
Beispiel für einen T-SQL-Befehl zum Exportieren von Transaktionsprotokolldateien auf den lokalen Datenträger
Mit diesem Beispielbefehl wird eine Sicherung des Transaktionslogs der
AdventureWorks2022
-Datenbank erstellt und die Datei auf dem lokalen Laufwerk gespeichert. Die resultierende Sicherungsdatei verwendet die erforderliche Namenskonvention.declare @DATABASE varchar(1000); SELECT @DATABASE = 'AdventureWorks2022'; declare @unixTimestamp varchar(1000); SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50)); BACKUP LOG @DATABASE TO DISK = 'X:\SQLServerBackups\log\' + @DATABASE + '.' + @unixTimestamp + '.trn';
- Laden Sie die Sicherungsdateien des Transaktionslogs in den Cloud Storage-Bucket hoch, den Sie für die Migration erstellt haben.
Transaktionslog-Sicherung für Amazon RDS erstellen
Transaktionslogsicherungen werden automatisch erstellt, wenn automatische Sicherungen für Ihre Amazon RDS-Instanz aktiviert sind. Weitere Informationen finden Sie in der Amazon RDS-Dokumentation unter Automatische Sicherungen aktivieren.
So verwenden Sie Sicherungsdateien des Transaktionslogs für die Migration:
- Aktivieren Sie den Zugriff auf Transaktionsprotokolldateien in Ihrer Amazon RDS-Instanz.
Weitere Informationen finden Sie unter
Zugriff auf Transaktionslogsicherungen mit RDS for SQL Server.
Sie können auch den folgenden Beispielbefehl verwenden:
Beispiel für einen Aufruf einer gespeicherten Prozedur zum Aktivieren des Zugriffs auf das Transaktionsprotokoll in Amazon RDS
declare @DATABASE varchar(1000); declare @S3Bucket varchar(1000); declare @targetS3Arn varchar(1000);
SELECT @S3Bucket = 'dms-sqlserver-exports'; SELECT @DATABASE = 'AdventureWorks2022'; SELECT @targetS3Arn = ('arn:aws:s3:::' + @S3Bucket + '/' + @DATABASE + '/log/');
USE @DATABASE; exec msdb.dbo.rds_tlog_copy_setup @target_s3_arn=@targetS3Arn;
- Kopieren Sie die Sicherungsdateien des Transaktionslogs aus Ihrem S3-Bucket in den Cloud Storage-Bucket, den Sie für die Migration erstellt haben.