1

我正在更新一个框架来测试数据库驱动的代码。在对数据库进行每次写入测试之前,它都会对数据库备份进行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

这意味着要保留这三个文件的“备份”,我每次都需要从备份目录中复制它们,这既费时又会抵消任何速度提升。

有人对如何使其工作有任何想法吗?

4

1 回答 1

0

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

于 2011-05-26T03:04:04.877 回答