Replicating Databases
Scenarios
You can use a stored procedure to back up a database and restore it to a new database.
Prerequisites
- An RDS for SQL Server DB instance has been connected. For details about how to connect to a DB instance, see Connecting to a DB Instance Through a Public Network.
- The stored procedure must be executed by a user who has the [CREATE ANY DATABASE] permission. If a user who does not have this permission attempts to execute the stored procedure, the system displays the following information:
Database restores can only be performed by database logins with [CREATE ANY DATABASE] permissions.
- To back up a custom database, the execution account must be a member of the db_owner or db_backupoperator role group in the database. If a user who does not have the corresponding permission attempts to execute the stored procedure, the system displays the following information:
Database backups can only be performed by members of db_owner or db_backupoperator roles in the source database
Constraints
- You cannot replicate the system databases. If you attempt to replicate a system database, the system displays the following information:
Error DBName_Source or DBName_Target. Please can not include in ('msdb','master','model','tempdb','rdsadmin','resource') .
- The target database to be restored to cannot have the same database name as the source database. Otherwise, the system displays the following information:
Database database name already exists. Cannot restore database with the same name.
Procedure
Run the following command to replicate a database:
EXEC msdb.dbo.rds_copy_database '@DBName_Source', '@DBName_Target';
- @DBName_Source: indicates the source database to be backed up.
- @DBName_Target: indicates the target database to be restored to.
For example, to replicate database testDB_1 to obtain a new database testDB_2, run the following command:
EXEC msdb.dbo.rds_copy_database 'testDB_1', 'testDB_2';
- If the database version is RDS for SQL Server 2012 (Standard Edition, Enterprise Edition, or Web Edition), use the stored procedure msdb.dbo.rds_copy_database_2012 to back up the database.
- If the database version is RDS for SQL Server 2016 (Standard Edition, Enterprise Edition, or Web Edition), use the stored procedure msdb.dbo.rds_copy_database_2016 to back up the database.
- If the database version is RDS for SQL Server 2017 Enterprise Edition, use the stored procedure msdb.dbo.rds_copy_database_2017 to back up the database.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot