4

夜間のバックアップで 4 つの個別の bak ファイルに分割した大きな SQL データベースがあるため、オフサイトに簡単に送信できます。このステートメントを使用します(データベース名が変更されました)

BACKUP DATABASE [Data] TO
DISK = 'd:\back\data1.bak',
DISK = 'd:\back\data2.bak',
DISK = 'd:\back\data3.bak',
DISK = 'd:\back\data4.bak'
WITH  INIT, NOUNLOAD, NAME = 'Data backup',  NOSKIP ,  STATS = 10,  NOFORMAT

4 つのバックアップはすべて、bak 内の mdf ファイルと ldf ファイルの論理名が同じです。

これら 4 つのバックアップを、テスト用にサーバー上の別のデータベースに復元できるようにしたいと考えています。この投稿で、これを実行すると思われるt-sql スクリプトを見つけましたが、よくわかりません。誰か助けてくれませんか?

次のようにスクリプトを適応させて実行できると考えています。

RESTORE DATABASE Data_test FROM
DISK = 'd:\back\data1.bak',
DISK = 'd:\back\data2.bak',
DISK = 'd:\back\data3.bak',
DISK = 'd:\back\data4.bak'
WITH MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test1.mdf',
MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test2.ndf',
MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test3.ndf',
MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test4.ndf',
MOVE 'Prod_Log' TO 'C:\SQLtlogs\Data_test1.ldf'

これでうまくいくと思いますか?また、このテスト データベースは、復元元の製品データベースと競合しませんか? どんな助けでも素晴らしいでしょう、ありがとう。

4

2 に答える 2

3

OK、実際にこれを SSMS の GUI で動作させることができました。[タスク]、[データベースの復元]、[デバイスからの選択] の順に選択し、個別の bak ファイルの 4 つのファイルすべてを追加し、[OK] をクリックして [上書き] で復元を実行し、必要に応じて mdf と ldf のファイル名を変更して、テストデータベース用であり、本番用ではありません。SSMS は、4 つのファイルが同じメディア セットの一部であることを認識し、それらを mdf ファイルと ldf ファイルに再構築します。結局、スクリプトは必要なかったようです。

于 2013-08-23T21:01:04.733 に答える