Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-06-06 GMT+08:00

Replicación de bases de datos

Escenarios

Puede utilizar un procedimiento almacenado para realizar una copia de seguridad de una base de datos y restaurarla en una nueva base de datos.

Prerrequisitos

  • Se ha conectado una instancia de base de datos de RDS for SQL Server. Para obtener más información sobre cómo conectarse a una instancia de base de datos, consulte Conexión a una instancia de base de datos mediante una red pública.
  • El procedimiento almacenado debe ser ejecutado por un usuario que tenga el permiso [CREATE ANY DATABASE]. Si un usuario que no tiene este permiso intenta ejecutar el procedimiento almacenado, el sistema muestra la siguiente información:
    Las restauraciones de la base de datos solo se pueden realizar mediante inicios de sesión de la base de datos con permisos [CREATE ANY DATABASE].
  • Para realizar una copia de respaldo de una base de datos personalizada, la cuenta de ejecución debe ser miembro del grupo de roles db_owner o db_backupoperator de la base de datos. Si un usuario que no tiene el permiso correspondiente intenta ejecutar el procedimiento almacenado, el sistema muestra la siguiente información:
    Database backups can only be performed by members of db_owner or db_backupoperator roles in the source database

Restricciones

  • No puede replicar las bases de datos del sistema. Si intenta replicar una base de datos del sistema, el sistema muestra la siguiente información:
    Error DBName_Source or DBName_Target. Please can not include in ('msdb','master','model','tempdb','rdsadmin','resource') .
  • La base de datos de destino que se va a restaurar no puede tener el mismo nombre de base de datos que la base de datos de origen. De lo contrario, el sistema muestra la siguiente información:
    Database database name already exists. Cannot restore database with the same name.

Procedimiento

Ejecute el siguiente comando para replicar una base de datos:

EXEC msdb.dbo.rds_copy_database '@DBName_Source', '@DBName_Target';

  • @DBName_Source: indica la base de datos de origen que se va a hacer una copia de respaldo.
  • @DBName_Target: indica la base de datos de destino a la que se va a restaurar.

Por ejemplo, para replicar testDB_1 de base de datos para obtener un nuevo testDB_2 de base de datos, ejecute el siguiente comando:

EXEC msdb.dbo.rds_copy_database 'testDB_1', 'testDB_2';

  • Si la versión de la base de datos es RDS for SQL Server 2012 (edición estándar, edición empresarial o edición web), utilice el procedimiento almacenado msdb.dbo.rds_copy_database_2012 para realizar una copia de seguridad de la base de datos.
  • Si la versión de la base de datos es RDS for SQL Server 2016 (edición estándar, edición empresarial o edición web), utilice el procedimiento almacenado msdb.dbo.rds_copy_database_2016 para realizar una copia de seguridad de la base de datos.
  • Si la versión de la base de datos es RDS for SQL Server 2017 Enterprise Edition, utilice el procedimiento almacenado msdb.dbo.rds_copy_database_2017 para realizar una copia de seguridad de la base de datos.