2

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

假设我有一个名为MyDB. 我只是想复制MyDBto MyDb2。我认为这会起作用:

BACKUP DATABASE MyDB TO MyDB2;

但是当我尝试执行它时出现此错误:

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

有谁知道最好的方法是什么?我想要原件的精确副本,包括安全权限。

4

2 回答 2

7

一种简单的方法是获取当前数据库的备份副本并恢复它。您可以使用简单的脚本一步完成

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)做了一个假设,您需要检查它们并正确

于 2013-10-30T10:59:05.587 回答
0

DBAtools是您的朋友。

使用Copy-DbaDatabase

IE。

Copy-DbaDatabase -Source SRV1 -Destination SRV1 -Database myDB -BackupRestore -SharedPath \\<<your temporary server location such as c:\temp>>
于 2020-06-01T01:34:05.893 回答