我正在更新一个框架来测试数据库驱动的代码。在对数据库进行每次写入测试之前,它都会对数据库备份进行RESTORE,这需要 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
但是,使用 CREATE DATABASE FOR ATTACH,我似乎找不到任何方法来“移动”mdf、ldf 和 ndf 文件。附加时,它仅使用您指定的文件作为数据库文件:
CREATE DATABASE [testDB] ON
(FILENAME = N'\\Path\To\MDF'),
(FILENAME = N'\\Path\To\LDF'),
(FILENAME = N'\\Path\To\NDF')
FOR ATTACH
这意味着要保留这三个文件的“备份”,我每次都需要从备份目录中复制它们,这既费时又会抵消任何速度提升。
有人对如何使其工作有任何想法吗?