データベース駆動型コードをテストするためのフレームワークの更新に取り組んでいます。データベースへのすべての書き込みテストの前に、データベース バックアップの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 つのファイルの「バックアップ」を保持することを意味し、毎回バックアップ ディレクトリからそれらをコピーする必要があります。これは時間がかかり、速度の向上を相殺する以上のものです。
誰でもそれを機能させる方法について何か考えがありますか?