【问题标题】:Moving SQL Server 2008 R2 backup/restore to detach/reattach将 SQL Server 2008 R2 备份/还原移动到分离/重新附加
【发布时间】:2011-04-26 18:09:11
【问题描述】:

我正在更新一个框架来测试数据库驱动的代码。在对数据库进行每次写入测试之前,它会执行RESTORE 的数据库备份,这需要 15-20 秒,所以我试图通过保持分离的 mdf、ldf 和 ndf 文件的“备份”来加速它这样我就可以在每次测试之前CREATE DATABASE...FOR ATTACH。问题是,在使用 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

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

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

【问题讨论】:

    标签: sql-server-2008-r2 automated-tests database-backups database-restore


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 2014-09-24
      相关资源
      最近更新 更多