2017-05-12 18 views
0

私は「AdvWorks」というデータベースを持っています。 バックアップコール「BackupDB.bak」があります。SQL Server - 復元時に既定のデータファイルの宛先を変更する方法

AdvWorksでBackupDB.bakを復元すると、SQLはAdvWorksデータファイルではなくBackupDBのデータファイルを上書きしようとします。私はこのすべてを変更しなければならず、これは意味をなさない。

誰かがこのように動作する理由を教えてください。 そして、このデフォルトの場所をバックアップDBファイルではなく、復元DBファイルに変更できますか?

ありがとうございました。

+1

実際には、これは意味をなさない唯一の動作であり、損害を引き起こす危険はありません。 A *バックアップ*は、データファイルだけでなく、データベース*のバックアップです。トラブルが発生した場合にデータベースを復元することになっています。意味をなさないデフォルトのファイルの場所は、元のファイルの場所だけです。データベースを別の場所に復元する場合は、新しいフォルダを指定できるチェックボックスをクリックします。 –

+2

バックアップが必要なように動作した場合、警告または確認なしに**既存のデータベースのファイルを上書きする**ことを決定します。 –

+0

ありがとう、これは私がそれについて考えるようになりました。しかし、私の仕事では、さまざまなデータベースのコピーをとり、それらを新しいデータベースまたは異なるデータベースに復元する無数の時間があります。 –

答えて

3

、SQLを使用し、場所もこれを克服するために、バックアップファイルに

をコピーされ、これがあるます。BackupDBのデータファイルではなく、AdvWorksデータファイル

を上書きしようとしますRESTORE WITH MOVE ..

RESTORE DATABASE MyNwind 
    FROM MyNwind_1 
    WITH NORECOVERY, 
    MOVE 'MyNwind_data_1' TO 'D:\MyData\MyNwind_data_1.mdf', 
    MOVE 'MyNwind_data_2' TO 'D:\MyData\MyNwind_data_2.ndf'; 
+0

ありがとうございます。だから、このステップはいつも取られなければなりませんか?または、このデフォルトを変更する方法はありますか?私は今なぜこれを行うのか理解していますが、私たちのローカル環境とテスト環境では、デフォルトを保存先フォルダに保存したいと考えています。 –

+0

復元時に新しいパスを使用する場合は、デフォルトでパスセット(サーバーを右クリックして表示されます)にSQLリストア(新しいデータベースの作成)を行います。このオプションは常に使用する必要があります。@PaulS – TheGameiswar

+0

'WITH REPLACE'オプション – Hybris95

関連する問題