Prepara tus archivos de copia de seguridad

En esta página, se describe cómo crear los archivos de copia de seguridad necesarios para migrar tus bases de datos de SQL Server a Cloud SQL para SQL Server, incluidas las siguientes secciones:

Requisitos y limitaciones

Los siguientes requisitos y limitaciones se aplican a los archivos de copia de seguridad que usas para la migración:

  • Todos los archivos de copia de seguridad deben tener nombres que cumplan con sus respectivas convenciones de nomenclatura.

  • Tus archivos de copia de seguridad pueden tener un tamaño máximo de 5 TB.

  • Puedes dividir tus archivos de copia de seguridad completa o diferencial en archivos más pequeños si el tamaño de tu base de datos supera los 5 TB. Cada división puede tener un tamaño máximo de 5 TB.

  • Puedes usar archivos de registro de transacciones y copias de seguridad encriptados para tu migración. Si deseas usar archivos de copia de seguridad encriptados, debes encriptar todos los archivos de copia de seguridad (completa, diferencial y de registro de transacciones) que uses para una base de datos específica incluida en tu migración. Consulta Cómo usar copias de seguridad encriptadas.

  • Database Migration Service no migra la base de datos master de SQL Server.

  • Tu instancia de SQL Server de origen no puede usar el modelo de recuperación simple. Para obtener más información sobre los modelos de recuperación, consulta Recovery Models (SQL Server) en la documentación de Microsoft.

Convenciones de nombres

En esta sección, se describen los requisitos de los nombres de los archivos de copia de seguridad completos, diferenciales y de registro de transacciones.

Convenciones de nomenclatura de los archivos de copia de seguridad para las instancias locales de SQL Server

Nombres del archivo de la copia de seguridad completa

La convención de nomenclatura para los archivos de copia de seguridad completa depende de si usas un solo archivo de copia de seguridad o si lo divides en varias bandas. En ambos casos, Database Migration Service requiere que incluyas una marca de tiempo de época (expresada como una marca de tiempo Unix en segundos) que represente el tiempo aproximado en el que hiciste la copia de seguridad completa.

  • Si tu copia de seguridad completa es un solo archivo, el nombre del archivo debe usar el formato db_name.epoch.bak, en el que se incluye lo siguiente:

    • db_name es el nombre de tu base de datos
    • epoch es una marca de tiempo de Unix en segundos.
    • .bak es la extensión del archivo.

    Dentro de los ejemplos válidos se incluyen los siguientes:

    • my-business-database.1712649600.bak
    • my-other-database.1712649600.bak
  • Si divides tu copia de seguridad completa en segmentos separados, cada segmento puede usar el nombre que elijas, pero se deben subir a una carpeta de Cloud Storage cuyo nombre sea una marca de tiempo de Unix en segundos:

    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/
    |  |  |- ...
    

Nombres de archivos de copias de seguridad diferenciales

La convención de nomenclatura para los archivos de copias de seguridad diferenciales depende de si usas un solo archivo de copia de seguridad o si lo divides en varias bandas. En ambos casos, Database Migration Service requiere que incluyas una marca de tiempo de época (expresada como una marca de tiempo Unix en segundos) que represente el tiempo aproximado en el que hiciste la copia de seguridad diferencial.

  • Si tu copia de seguridad diferencial es un solo archivo, el nombre del archivo debe usar el formato db_name.epoch.ext, en el que se incluyen los siguientes elementos:

    • db_name es el nombre de tu base de datos
    • epoch es una marca de tiempo de Unix en segundos.
    • .ext es la extensión del archivo; los archivos de copia de seguridad diferencial pueden usar las siguientes extensiones: .bak, .dif y .diff.

    Dentro de los ejemplos válidos se incluyen los siguientes:

    • my-business-database.1731159833.bak
    • my-other-database.1731159833.dif
  • Si divides tu copia de seguridad diferencial en bandas separadas, cada banda puede usar el nombre que elijas, pero se deben subir a una carpeta de Cloud Storage cuyo nombre sea una marca de tiempo de Unix en segundos:

    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/
    |  |  |- ...
    

Nombres del archivo del registro de transacciones

Los nombres de tus archivos de registro de transacciones deben usar el formato db_name.epoch.trn, en el que se incluye lo siguiente:

  • db_name es el nombre de tu base de datos
  • epoch es una marca de tiempo de Unix en segundos.
  • .bak es la extensión del archivo.

Dentro de los ejemplos válidos se incluyen los siguientes:

  • my-business-database.1712649600.trn
  • my-other-database.1712649600.trn

Convenciones de nombres de los archivos de copia de seguridad para Amazon RDS

Nombres del archivo de la copia de seguridad completa

La convención de nomenclatura para los archivos de copia de seguridad completa depende de si usas un solo archivo de copia de seguridad o si lo divides en varias bandas. En ambos casos, Database Migration Service requiere que incluyas una marca de tiempo de época (expresada como una marca de tiempo Unix en segundos) que represente el tiempo aproximado en el que hiciste la copia de seguridad completa.

  • Si tu copia de seguridad completa es un solo archivo, el nombre del archivo debe usar el formato db_id.family_guid.rds_backup_seq_id.epoch.bak, en el que se incluye lo siguiente:

    • db_id es el identificador de base de datos interno de Amazon RDS.
    • family_guid es el identificador único de la base de datos original de Amazon RDS en el momento de la creación.
    • rds_backup_seq_id es el identificador que Amazon RDS usa de forma interna para mantener un número de secuencia para cada archivo de copia de seguridad del registro de transacciones.
    • epoch es una marca de tiempo de Unix en segundos.
    • .bak es la extensión del archivo.

    Dentro de los ejemplos válidos se incluyen los siguientes:

    • 3.CX11CB3D-G2E4-46D9-B462-CE40CDA97E89.22.1712649600.bak
    • 1.FD21CD3F-B5E4-27Z9-B462-CE40CDA97E89.21.1712649600.bak
  • Si divides tu copia de seguridad completa en segmentos separados, cada segmento puede usar el nombre que elijas, pero se deben subir a una carpeta de Cloud Storage cuyo nombre sea una marca de tiempo de Unix en segundos:

    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/
    |  |  |- ...
    

Nombres de archivos de copias de seguridad diferenciales

La convención de nomenclatura para los archivos de copias de seguridad diferenciales depende de si usas un solo archivo de copia de seguridad o si lo divides en varias bandas. En ambos casos, Database Migration Service requiere que incluyas una marca de tiempo de época (expresada como una marca de tiempo Unix en segundos) que represente el tiempo aproximado en el que hiciste la copia de seguridad diferencial.

  • Si tu copia de seguridad diferencial es un solo archivo, el nombre del archivo debe usar el formato db_id.family_guid.rds_backup_seq_id.epoch.ext, en el que se incluyen los siguientes elementos:

    • db_id es el identificador de base de datos interno de Amazon RDS.
    • family_guid es el identificador único de la base de datos original de Amazon RDS en el momento de la creación.
    • rds_backup_seq_id es el identificador que Amazon RDS usa de forma interna para mantener un número de secuencia para cada archivo de copia de seguridad del registro de transacciones.
    • epoch es una marca de tiempo de Unix en segundos.
    • .bak es la extensión del archivo; los archivos de copia de seguridad diferencial pueden usar las siguientes extensiones: .bak, .dif y .diff.

    Dentro de los ejemplos válidos se incluyen los siguientes:

    • 3.CX11CB3D-G2E4-46D9-B462-CE40CDA97E89.22.1731159833.bak
    • 1.FD21CD3F-B5E4-27Z9-B462-CE40CDA97E89.21.1731159833.dif
  • Si divides tu copia de seguridad completa en segmentos separados, cada segmento puede usar el nombre que elijas, pero se deben subir a una carpeta de Cloud Storage cuyo nombre sea una marca de tiempo de Unix en segundos:

    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/
    |  |  |- ...
    

Nombres del archivo del registro de transacciones

En Amazon RDS, los archivos de copia de seguridad del registro de transacciones se generan automáticamente y cuentan con todos los identificadores de base de datos necesarios. Estos nombres predeterminados incluyen la marca de tiempo de época y se admiten en su totalidad en Database Migration Service. Puedes subir estos archivos directamente a tu carpeta /log/.

Realiza una copia de seguridad completa de tu instancia de origen

El archivo de copia de seguridad de la base de datos completa es necesario para la fase de carga inicial de tu trabajo de migración. Si deseas encriptar tus copias de seguridad, asegúrate de almacenar la clave de encriptación para que puedas subirla a Cloud Storage más adelante cuando crees el trabajo de migración. Consulta Cómo usar copias de seguridad encriptadas.

Crea una copia de seguridad completa para las instancias de SQL Server locales

Puedes crear una copia de seguridad completa de tu instancia de SQL Server local con T-SQL o SQL Server Management Studio (SSMS). Lleva a cabo los pasos siguientes:

  1. Asegúrate de cumplir con los siguientes requisitos:
  2. Realiza una copia de seguridad completa de tu instancia de origen. Consulta la Guía de inicio rápido: Crea copias de seguridad y restablece una base de datos de SQL Server con SSMS en la documentación de Microsoft. También puedes consultar los siguientes comandos de ejemplo:

    Ejemplo de un comando de T-SQL para un solo archivo de copia de seguridad completa

    Este comando de ejemplo realiza una copia de seguridad completa de la base de datos AdventureWorks2022. El archivo de copia de seguridad resultante usa la convención de nomenclatura requerida.

    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

    Ejemplo de comando de T-SQL para archivos de copia de seguridad completa segmentados

    Este comando de ejemplo realiza una copia de seguridad completa de la base de datos AdventureWorks2022. El archivo de copia de seguridad resultante usa la convención de nomenclatura requerida.

    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. Sube tu archivo de copia de seguridad a un bucket de Cloud Storage. Consulta Crea y configura un bucket de Cloud Storage.

Realiza una copia de seguridad completa de Amazon RDS

Para crear una copia de seguridad completa de tu fuente de Amazon RDS, sigue estos pasos:

  1. Asegúrate de cumplir con los siguientes requisitos:
  2. Configura la capacidad de copia de seguridad nativa. Consulta Configuración para copias de seguridad y restablecimiento nativos en la documentación de Amazon RDS.
  3. Realiza una copia de seguridad completa de tu instancia de origen. Si el tamaño de tu base de datos supera los 5 TB, asegúrate de dividir la copia de seguridad completa en bandas separadas con el parámetro @number_of_files. Cada división puede tener un tamaño máximo de 5 TB. Consulta Crea una copia de seguridad de una base de datos en la documentación de Amazon RDS.

    También puedes consultar el siguiente comando de muestra:

    Ejemplo de consulta para realizar una copia de seguridad completa en Amazon RDS

    Este comando de ejemplo realiza una copia de seguridad completa de la base de datos AdventureWorks2022. El archivo de copia de seguridad resultante usa la convención de nomenclatura requerida.

    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. Sube tu archivo de copia de seguridad a un bucket de Cloud Storage. Consulta Crea y configura un bucket de Cloud Storage.

Crea una copia de seguridad diferencial de tu instancia de origen

Puedes usar un archivo de copia de seguridad de base de datos diferencial durante la fase de carga incremental de tu trabajo de migración. Puedes usar archivos de copia de seguridad diferenciales encriptados si también encriptas el archivo de copia de seguridad completo y los archivos de registro de transacciones de la misma base de datos. Todos los archivos de registro de transacciones y de copias de seguridad deben usar la misma clave de encriptación por base de datos. Consulta Cómo usar copias de seguridad encriptadas.

Crea copias de seguridad diferenciales para instancias de SQL Server locales

Puedes crear una copia de seguridad diferencial de tu instancia de SQL Server local con T-SQL o SQL Server Management Studio (SSMS). Lleva a cabo los pasos siguientes:

  1. Asegúrate de cumplir con los siguientes requisitos:
  2. Realiza la copia de seguridad diferencial de tu instancia de origen. Consulta Create a Differential Database Backup en la documentación de Microsoft. También puedes consultar los siguientes comandos de ejemplo:

    Ejemplo de un comando de T-SQL para un solo archivo de copia de seguridad diferencial

    Este comando de ejemplo toma una copia de seguridad diferencial de la base de datos AdventureWorks2022. El archivo de copia de seguridad resultante usa la convención de nomenclatura requerida.

    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

    Ejemplo de comando de T-SQL para archivos de copia de seguridad diferencial segmentados

    Este comando de ejemplo toma una copia de seguridad diferencial de la base de datos AdventureWorks2022. El archivo de copia de seguridad resultante usa la convención de nomenclatura requerida.

    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. Sube tu archivo de copia de seguridad a un bucket de Cloud Storage. Consulta Crea y configura un bucket de Cloud Storage.

Realiza una copia de seguridad diferencial para Amazon RDS

Para realizar la copia de seguridad diferencial de tu fuente de Amazon RDS, sigue estos pasos:

  1. Asegúrate de cumplir con los siguientes requisitos:
  2. Configura la capacidad de copia de seguridad nativa. Consulta Configuración para copias de seguridad y restablecimiento nativos en la documentación de Amazon RDS.
  3. Realiza la copia de seguridad diferencial de tu instancia de origen. Usa el procedimiento almacenado rds_backup_database con el parámetro type establecido en DIFFERENTIAL.

    Si el tamaño de tu base de datos supera los 5 TB, asegúrate de dividir la copia de seguridad completa en bandas separadas con el parámetro @number_of_files. Cada división puede tener un tamaño máximo de 5 TB.

    Consulta Cómo crear una copia de seguridad de una base de datos en la documentación de Amazon RDS. También puedes consultar el siguiente comando de ejemplo:

    Ejemplo de consulta para realizar una copia de seguridad diferencial en Amazon RDS

    Este comando de ejemplo toma una copia de seguridad diferencial de la base de datos AdventureWorks2022. El archivo de copia de seguridad resultante usa la convención de nomenclatura requerida.

    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. Sube tu archivo de copia de seguridad a un bucket de Cloud Storage. Consulta Crea y configura un bucket de Cloud Storage.

Toma copias de seguridad del registro de transacciones

Los archivos de copia de seguridad del registro de transacciones contienen los cambios que se producen en la base de datos de origen después de que se realiza la copia de seguridad completa. Se requieren copias de seguridad del registro de transacciones para la fase de carga continua de tu trabajo de migración. Puedes programar cargas y exportaciones periódicas de registros de transacciones para garantizar que las actualizaciones de datos se repliquen de forma continua en tu instancia de destino de Cloud SQL para SQL Server. Consulta Cómo programar copias de seguridad del registro de transacciones.

Si usas archivos de copia de seguridad encriptados, también debes encriptar los archivos de registro de transacciones de la misma base de datos. Consulta Cómo usar copias de seguridad encriptadas.

Cómo crear una copia de seguridad del registro de transacciones para instancias de SQL Server locales

Para crear una copia de seguridad del registro de transacciones de tus bases de datos de SQL Server locales, sigue estos pasos:

  1. Asegúrate de cumplir con los siguientes requisitos:
  2. Exporta los archivos de registro de transacciones de tus bases de datos de origen de SQL Server. Consulta Cómo crear una copia de seguridad de un registro de transacciones en la documentación de Microsoft. También puedes consultar el siguiente comando de muestra:

    Ejemplo de comando de T-SQL para exportar archivos de registro de transacciones al disco local

    Este comando de ejemplo crea una copia de seguridad del registro de transacciones de la base de datos AdventureWorks2022 y guarda el archivo en el disco local. El archivo de copia de seguridad resultante usa la convención de nomenclatura requerida.

    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. Sube los archivos de copia de seguridad del registro de transacciones al bucket de Cloud Storage que creaste para tu migración.

Toma una copia de seguridad del registro de transacciones para Amazon RDS

Las copias de seguridad de registros de transacciones se crean automáticamente si las copias de seguridad automáticas están habilitadas en tu instancia de Amazon RDS. Consulta Cómo habilitar las copias de seguridad automáticas en la documentación de Amazon RDS.

Para usar los archivos de copia de seguridad del registro de transacciones en tu migración, sigue estos pasos:

  1. Habilita el acceso a los archivos de registro de transacciones en tu instancia de Amazon RDS. Consulta Acceso a copias de seguridad de registros de transacciones con RDS para SQL Server. También puedes consultar el siguiente comando de muestra:

    Ejemplo de llamada a un procedimiento almacenado para habilitar el acceso al registro de transacciones en 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. Copia los archivos de copia de seguridad del registro de transacciones de tu bucket de S3 en el bucket de Cloud Storage que creaste para tu migración.