Sql server 2008 r2 将SQL Server 2008 R2备份/恢复移动到分离/重新连接

Sql server 2008 r2 将SQL Server 2008 R2备份/恢复移动到分离/重新连接,sql-server-2008-r2,automated-tests,database-backups,database-restore,Sql Server 2008 R2,Automated Tests,Database Backups,Database Restore,我正在更新一个框架来测试数据库驱动的代码。在每次对数据库进行写测试之前,它都要进行一次数据库备份,这需要15-20秒,因此我试图通过保留分离的mdf、ldf和ndf文件的“备份”来加快备份速度,以便在每次测试之前都可以进行备份。问题是,在使用RESTORE时,您可以通过以下方式“移动”(或者更具体地说,选择将备份还原到何处)mdf、ldf和ndf文件: RESTORE DATABASE [testDB] FROM DISK = N'\\Path\To\Backup' WITH FILE =

我正在更新一个框架来测试数据库驱动的代码。在每次对数据库进行写测试之前,它都要进行一次数据库备份,这需要15-20秒,因此我试图通过保留分离的mdf、ldf和ndf文件的“备份”来加快备份速度,以便在每次测试之前都可以进行备份。问题是,在使用RESTORE时,您可以通过以下方式“移动”(或者更具体地说,选择将备份还原到何处)mdf、ldf和ndf文件:

RESTORE DATABASE [testDB]
  FROM DISK = N'\\Path\To\Backup' WITH FILE = 1, RECOVERY,
  MOVE N'testDB' TO N'\\Path\To\MDF', 
  MOVE N'testDB_log' TO N'\\Path\To\LDF', 
  MOVE N'ftrow_testDB' TO N'\\Path\To\NDF', 
  NOUNLOAD, REPLACE, STATS = 1
然而,使用CreateDatabaseforAttach,我似乎找不到任何方法来“移动”mdf、ldf和ndf文件。附着时,它仅使用指定为数据库文件的文件:

CREATE DATABASE [testDB] ON
  (FILENAME = N'\\Path\To\MDF'),
  (FILENAME = N'\\Path\To\LDF'),
  (FILENAME = N'\\Path\To\NDF')
FOR ATTACH
这意味着要对这三个文件进行“备份”,我每次都需要从备份目录中复制它们,这非常耗时,而且抵消了速度的提高


有人对如何让它工作有什么想法吗?

我想不出任何方法来让它工作,所以我只是尽可能地缩小数据库,并将它们置于简单的恢复模式-这大大加快了速度