如何在SQL Server中制作数据库的副本

时间:2013-10-30 10:23:10

标签: sql database sql-server-2008-r2 clone

我似乎无法找到任何将在同一服务器中克隆SQL Server中的一个数据库的SQL。

假设我有一个名为MyDB的数据库。我只想将MyDB复制到MyDb2。我认为这样可行:

BACKUP DATABASE MyDB TO MyDB2;

但是当我尝试执行它时,我收到了这个错误:

  

备份设备'DbTestBack'不存在。要查看现有备份设备,请使用sys.backup_devices目录视图。要创建新的备份设备,请使用sp_addumpdevice或SQL Server Management Studio。

有谁知道最好的方法是什么?我想要原件的完全复制品,包括安全权限。

2 个答案:

答案 0 :(得分:5)

一种简单的方法是获取当前数据库的备份副本并进行恢复。 您可以使用简单的脚本单步执行此操作

backup database MyDB 
to disk='D:\MyDB.bak';


restore database MyDB2
from disk='D:\MyDB.bak'
WITH move 'MyDB_Data' to  'D:\MyDB2_Data.mdf',
move 'MyDB_log' to  'D:\MyDB2_Data.ldf';
GO

注意:我对您当前的数据文件和日志文件名(MyDB_DataMyDB_log)做了一个假设,您需要检查它们并使其正确

答案 1 :(得分:0)

DBAtools是您的朋友在这里。

使用Copy-DbaDatabase

即。

Copy-DbaDatabase -Source SRV1 -Destination SRV1 -Database myDB -BackupRestore -SharedPath \\<<your temporary server location such as c:\temp>>