1

データベース駆動型コードをテストするためのフレームワークの更新に取り組んでいます。データベースへのすべての書き込みテストの前に、データベース バックアップのRESTOREを実行していますが、これには 15 ~ 20 秒かかります。すべてのテストの前に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

これは、これら 3 つのファイルの「バックアップ」を保持することを意味し、毎回バックアップ ディレクトリからそれらをコピーする必要があります。これは時間がかかり、速度の向上を相殺する以上のものです。

誰でもそれを機能させる方法について何か考えがありますか?

4

1 に答える 1

0

これを機能させる方法がわからなかったので、データベースをできる限り縮小し、単純な回復モードにしました。これにより、かなりの速度が向上しました。

于 2011-05-26T03:04:04.877 に答える