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

Les*_*nks 1 sql database clone sql-server-2008-r2

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

假设我有一个名为的数据库MyDB.我只是想打副本MyDBMyDb2.我认为这样可行:

BACKUP DATABASE MyDB TO MyDB2;
Run Code Online (Sandbox Code Playgroud)

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

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

有谁知道最好的方法是什么?我想要原始的完全重复,包括安全权限.

Ath*_*hul 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
Run Code Online (Sandbox Code Playgroud)

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