数据库复制 本节介绍了数据库复制的相关内容。 操作场景 使用存储过程,备份某个数据库,并恢复成一个新的数据库。 前提条件 成功连接RDS for SQL Server实例。关于连接关系型数据库实例, 执行此存储过程的必须是拥有[CREATE ANY DATABASE]权限的用户。如果不具备此权限的用户尝试执行该存储过程,系统将会如下提示: plaintext Database restores can only be performed by database logins with [CREATE ANY DATABASE] permissions. 对自定义数据库进行备份,执行账户必须是该数据库的“dbowner”或“dbbackupoperator”角色组成员。如不具备相应权限的用户对数据库进行备份,系统将会有如下提示: plaintext Database backups can only be performed by members of dbowner or dbbackupoperator roles in the source database 约束 对于系统库,不可通过此存储过程进行复制操作。如果您试图复制系统库,系统将会如下提示: plaintext Error DBNameSource or DBNameTarget. Please can not include in ('msdb','master','model','tempdb','rdsadmin','resource') . 对于需要恢复的目标数据库,必须是不存在的,且不与源数据库同名的数据库,否则,系统将会如下提示: plaintext Database 数据库名 already exists. Cannot restore database with the same name. 操作步骤 执行以下命令,进行数据库复制。 EXEC msdb.dbo.rdscopydatabase '@DBNameSource', '@DBNameTarget'; @ DBNameSource:源数据库,指定要备份的数据库名。 @ DBNameTarget:目标数据库,指定要恢复的数据库名。 将数据库testDB1复制出一个新的数据库testDB2,示例如下: EXEC msdb.dbo.rdscopydatabase 'testDB1', 'testDB2'; 说明 数据库版本为RDS for SQL Server 2012(标准版、企业版、Web版)的用户,请使用名称为msdb.dbo.rdscopydatabase2012的存储过程进行数据库备份。 数据库版本为RDS for SQL Server 2016(标准版、企业版、Web版)的用户,请使用名称为msdb.dbo.rdscopydatabase2016的存储过程进行数据库备份。 数据库版本为RDS for SQL Server 2017企业版的用户,请使用名称为msdb.dbo.rdscopydatabase2017的存储过程进行数据库备份。