Sicherungsdateien vorbereiten

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. Sie enthält die folgenden Abschnitte:

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.

  • Ihre Sicherungsdateien dürfen maximal 5 TB groß sein.

  • Sie können die Dateien mit der Voll- oder Differenzialsicherung 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 Transaktionslogdateien für die Migration verwenden. Wenn Sie verschlüsselte Sicherungsdateien verwenden möchten, müssen Sie jede Sicherungsdatei (Voll-, differenzielle und Transaktionslogsicherung) verschlüsseln, die Sie für eine bestimmte Datenbank verwenden, die in Ihrer Migration enthalten ist. Weitere Informationen finden Sie unter Verschlüsselte Sicherungen verwenden.

  • Mit Database Migration Service wird die SQL Server-Datenbank master nicht migriert.

  • Ihre SQL Server-Quellinstanz 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 Ihre Dateien mit Vollsicherungen, differenziellen Sicherungen und Transaktionslogsicherungen beschrieben.

Namenskonventionen für Sicherungsdateien für lokale SQL Server-Instanzen

Namen von Dateien mit Vollsicherungen

Die Benennungskonvention für vollständige Sicherungsdateien hängt davon ab, ob Sie eine einzelne Sicherungsdatei verwenden oder sie in mehrere Stripes aufteilen. In beiden Szenarien 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 Stripes aufteilen, kann jeder Stripe 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/
    |  |  |- ...
    

Namen von Dateien mit differenziellen Sicherungen

Die Namenskonvention für differenzielle Sicherungsdateien hängt davon ab, ob Sie eine einzelne Sicherungsdatei verwenden oder sie in mehrere Stripes aufteilen. In beiden Szenarien müssen Sie für Database Migration Service einen Epochenzeitstempel (Unix-Zeitstempel in Sekunden) hinzufügen, der den ungefähren Zeitpunkt der differenziellen Sicherung angibt.

  • Wenn Ihr differenzielles Backup 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 Dateien mit differenziellen Sicherungen können die folgenden Endungen verwendet werden: .bak, .dif, .diff.

    Gültige Beispiele:

    • my-business-database.1731159833.bak
    • my-other-database.1731159833.dif
  • Wenn Sie Ihr differenzielles Backup in separate Stripes aufteilen, kann jeder Stripe 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 vollständige Sicherungsdateien hängt davon ab, ob Sie eine einzelne Sicherungsdatei verwenden oder sie in mehrere Stripes aufteilen. In beiden Szenarien 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 Stripes aufteilen, kann jeder Stripe 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/
    |  |  |- ...
    

Namen von Dateien mit differenziellen Sicherungen

Die Namenskonvention für differenzielle Sicherungsdateien hängt davon ab, ob Sie eine einzelne Sicherungsdatei verwenden oder sie in mehrere Stripes aufteilen. In beiden Szenarien müssen Sie für Database Migration Service einen Epochenzeitstempel (Unix-Zeitstempel in Sekunden) hinzufügen, der den ungefähren Zeitpunkt der differenziellen Sicherung angibt.

  • Wenn Ihr differenzielles Backup 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 Dateien mit differenziellen Sicherungen können die folgenden Endungen 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 Stripes aufteilen, kann jeder Stripe 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 Datei mit der Vollsicherung der Datenbank ist für die Phase des anfänglichen Ladevorgangs Ihres Migrationsjobs erforderlich. Wenn Sie Ihre Sicherungen verschlüsseln möchten, müssen Sie den Verschlüsselungsschlüssel so speichern, dass Sie ihn später in Cloud Storage hochladen können, wenn Sie den Migrationsjob erstellen. Weitere Informationen finden Sie unter Verschlüsselte Sicherungen verwenden.

Vollständige Sicherung für lokale SQL Server-Instanzen erstellen

Sie können das vollständige Backup Ihrer lokalen SQL Server-Instanz mit T-SQL oder SQL Server Management Studio (SSMS) erstellen. Gehen Sie so vor:

  1. Folgende Anforderungen müssen erfüllt sein:
  2. 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 prüfen:

    Beispiel für einen T-SQL-Befehl für eine einzelne vollständige Sicherungsdatei

    Mit diesem Beispielbefehl wird eine vollständige Sicherung der Datenbank AdventureWorks2022 erstellt. Die resultierende Sicherungsdatei entspricht der erforderlichen Namenskonvention.

    declare @DATABASE varchar(1000);
    SELECT @DATABASE = 'AdventureWorks2022';
    
    declare @unixTimestamp varchar(1000);
    SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    
    DECLARE @BackupPath NVARCHAR(2000);
    SET @BackupPath = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '.bak';
    
    DECLARE @SQL NVARCHAR(MAX);
    SET @SQL = 'BACKUP DATABASE [' + @DATABASE + '] TO DISK = N''' + @BackupPath + '''';
    EXEC sp_executesql @SQL;
    GO

    Beispiel für einen T-SQL-Befehl für gestreifte vollständige Sicherungsdateien

    Mit diesem Beispielbefehl wird eine vollständige Sicherung der Datenbank AdventureWorks2022 erstellt. Die resultierende Sicherungsdatei entspricht der erforderlichen Namenskonvention.

    declare @DATABASE varchar(1000);
    SELECT @DATABASE = 'AdventureWorks2022';
    
    declare @unixTimestamp varchar(1000);
    SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    
    DECLARE @BackupPath1 NVARCHAR(2000);
    DECLARE @BackupPath2 NVARCHAR(2000);
    DECLARE @BackupPath3 NVARCHAR(2000);
    
    SET @BackupPath1 = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '\stripe1.bak';
    SET @BackupPath2 = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '\stripe2.bak';
    SET @BackupPath3 = 'X:\SQLServerBackups\full\' + @DATABASE + '.' + @unixTimestamp + '\stripe3.bak';
    
    DECLARE @SQL NVARCHAR(MAX);
    SET @SQL = 'BACKUP DATABASE [' + @DATABASE + '] '
               + 'TO DISK = N''' + @BackupPath1 + ''', '
               + 'DISK = N''' + @BackupPath2 + ''', '
               + 'DISK = N''' + @BackupPath3 + ''' '
               + 'WITH FORMAT, '
               + 'MEDIANAME = N''AdventureWorksStripedSet0'', '
               + 'MEDIADESCRIPTION = N''Striped media set for ' + @DATABASE + ' database''';
    EXEC sp_executesql @SQL;
    GO
  3. 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 erstellen

So erstellen Sie eine vollständige Sicherung Ihrer Amazon RDS-Quelle:

  1. Folgende Anforderungen müssen erfüllt sein:
  2. Richten Sie die native Sicherungsfunktion ein. Weitere Informationen finden Sie in der Amazon RDS-Dokumentation unter Setting up for native backup and restore.
  3. Erstellen Sie eine vollständige Sicherung Ihrer Quellinstanz. Wenn Ihre Datenbankgröße 5 TB überschreitet, müssen Sie das vollständige Backup mit dem Parameter @number_of_files in separate Stripes 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 prüfen:

    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 entspricht der erforderlichen 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;
  4. 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 differenzielle Datenbanksicherungsdatei während der inkrementellen Ladephase 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. Für alle Sicherungs- und Transaktionsprotokolldateien muss pro Datenbank derselbe Verschlüsselungsschlüssel verwendet werden. Weitere Informationen finden Sie unter Verschlüsselte Sicherungen verwenden.

Differenzielle Sicherung für lokale SQL Server-Instanzen erstellen

Sie können das differenzielle Backup Ihrer lokalen SQL Server-Instanz mit T-SQL oder SQL Server Management Studio (SSMS) erstellen. Gehen Sie so vor:

  1. Folgende Anforderungen müssen erfüllt sein:
  2. Erstellen Sie eine differenzielle Sicherung Ihrer Quellinstanz. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter Create a Differential Database Backup. Sie können auch die folgenden Beispielbefehle prüfen:

    Beispiel für einen T-SQL-Befehl für eine einzelne differenzielle Sicherungsdatei

    Mit diesem Beispielbefehl wird eine differenzielle Sicherung der Datenbank AdventureWorks2022 erstellt. Die resultierende Sicherungsdatei entspricht der erforderlichen Namenskonvention.

    declare @DATABASE varchar(1000);
    SELECT @DATABASE = 'AdventureWorks2022';
    
    declare @unixTimestamp varchar(1000);
    SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    
    DECLARE @BackupPath NVARCHAR(2000);
    SET @BackupPath = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '.bak';
    
    DECLARE @SQL NVARCHAR(MAX);
    SET @SQL = 'BACKUP DATABASE [' + @DATABASE + '] TO DISK = N''' + @BackupPath + ''' WITH DIFFERENTIAL';
    EXEC sp_executesql @SQL;
    GO

    Beispiel für einen T-SQL-Befehl für gestreifte differenzielle Sicherungsdateien

    Mit diesem Beispielbefehl wird eine differenzielle Sicherung der Datenbank AdventureWorks2022 erstellt. Die resultierende Sicherungsdatei entspricht der erforderlichen Namenskonvention.

    declare @DATABASE varchar(1000);
    SELECT @DATABASE = 'AdventureWorks2022';
    
    declare @unixTimestamp varchar(1000);
    SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    
    DECLARE @BackupPath1 NVARCHAR(2000);
    DECLARE @BackupPath2 NVARCHAR(2000);
    DECLARE @BackupPath3 NVARCHAR(2000);
    
    SET @BackupPath1 = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '\stripe1.bak';
    SET @BackupPath2 = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '\stripe2.bak';
    SET @BackupPath3 = 'X:\SQLServerBackups\diff\' + @DATABASE + '.' + @unixTimestamp + '\stripe3.bak';
    
    DECLARE @SQL NVARCHAR(MAX);
    SET @SQL = 'BACKUP DATABASE [' + @DATABASE + '] '
               + 'TO DISK = N''' + @BackupPath1 + ''', '
               + 'DISK = N''' + @BackupPath2 + ''', '
               + 'DISK = N''' + @BackupPath3 + ''' '
               + 'WITH DIFFERENTIAL, FORMAT, '
               + 'MEDIANAME = N''AdventureWorksStripedSet0'', '
               + 'MEDIADESCRIPTION = N''Striped differential media set for ' + @DATABASE + ' database''';
    EXEC sp_executesql @SQL;
    GO
  3. 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 die differenzielle Sicherung Ihrer Amazon RDS-Quelle:

  1. Folgende Anforderungen müssen erfüllt sein:
  2. Richten Sie die native Sicherungsfunktion ein. Weitere Informationen finden Sie in der Amazon RDS-Dokumentation unter Setting up for native backup and restore.
  3. Erstellen Sie eine differenzielle Sicherung Ihrer Quellinstanz. Verwenden Sie die gespeicherte Prozedur rds_backup_database mit dem Parameter type, der auf DIFFERENTIAL festgelegt ist.

    Wenn Ihre Datenbank größer als 5 TB ist, müssen Sie die Vollsicherung mit dem Parameter @number_of_files in separate Stripes 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 prüfen:

    Beispielabfrage zum Erstellen einer differenziellen Sicherung in Amazon RDS

    Mit diesem Beispielbefehl wird eine differenzielle Sicherung der Datenbank AdventureWorks2022 erstellt. Die resultierende Sicherungsdatei entspricht der erforderlichen 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;
  4. Laden Sie die Sicherungsdatei in einen Cloud Storage-Bucket hoch. Weitere Informationen finden Sie unter Cloud Storage-Bucket erstellen und konfigurieren.

Sicherungen von Transaktionslogs erstellen

Sicherungsdateien für Transaktionsprotokolle enthalten die Änderungen, die in Ihrer Quelldatenbank nach der vollständigen Sicherung auftreten. Sicherungen von Transaktionslogs sind für die kontinuierliche Ladephase Ihres Migrationsjobs erforderlich. Sie können regelmäßige Exporte und Uploads von Transaktionslogs planen, um sicherzustellen, dass Datenaktualisierungen kontinuierlich in Ihre Cloud SQL for SQL Server-Zielinstanz repliziert werden. Weitere Informationen finden Sie unter Sicherungen des Transaktionslogs 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 Transaktions-Backup Ihrer lokalen SQL Server-Datenbanken:

  1. Folgende Anforderungen müssen erfüllt sein:
  2. Exportieren Sie die Transaktionslogdateien aus Ihren SQL Server-Quelldatenbanken. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter Sichern eines Transaktionslogs. Sie können auch den folgenden Beispielbefehl prüfen:

    Beispiel für einen T-SQL-Befehl zum Exportieren von Transaktionslogdateien auf die lokale Festplatte

    Mit diesem Beispielbefehl wird eine Sicherung des Transaktionslogs der Datenbank AdventureWorks2022 erstellt und die Datei auf der lokalen Festplatte gespeichert. Die resultierende Sicherungsdatei entspricht der erforderlichen Namenskonvention.

    declare @DATABASE varchar(1000);
    SELECT @DATABASE = 'AdventureWorks2022';
    declare @unixTimestamp varchar(1000);
    SELECT @unixTimestamp = CAST(DATEDIFF(s, '1970-01-01', GETUTCDATE()) AS VARCHAR(50));
    
    DECLARE @BackupPath NVARCHAR(2000);
    SET @BackupPath = 'X:\SQLServerBackups\log\' + @DATABASE + '.' + @unixTimestamp + '.trn';
    
    DECLARE @SQL NVARCHAR(MAX);
    SET @SQL = 'BACKUP LOG [' + @DATABASE + '] TO DISK = N''' + @BackupPath + '''';
    EXEC sp_executesql @SQL;
    GO
  3. Laden Sie die Sicherungsdateien des Transaktionslogs in den Cloud Storage-Bucket hoch, den Sie für die Migration erstellt haben.

Transaktionslog-Backup für Amazon RDS erstellen

Sicherungen von Transaktionslogs 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 Transaktions-Backup-Dateien für die Migration:

  1. Aktivieren Sie den Zugriff auf Transaktionslogdateien 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 prüfen:

    Beispiel für einen Aufruf einer gespeicherten Prozedur zum Aktivieren des Zugriffs auf Transaktionslogs 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;

  2. Kopieren Sie die Sicherungsdateien für das Transaktionslog aus Ihrem S3-Bucket in den Cloud Storage-Bucket, den Sie für die Migration erstellt haben.