2017-02-20 1 views
0

自分のソフトウェアに対して自分のDBをテストしたいのであれば、DBとログファイルをコピーしてテストしただけで以前のファイルを復元できますか?DBのクイックバックアップを作成して以前のバージョンに復元するには?

DBは安全でしょうか? DBは現在オフラインで、クライアントはありませんが、私はそれを傷つけたくないので、元のバージョンを復元するための速い方法が必要です。

残念ながら別のDBを作成できません。だから私はこの1つだけで働くことができます。

答えて

0

バックアップは、取得された時点のデータベースのコピーです。フルバックアップを行う必要があります。https://msdn.microsoft.com/en-us/library/ms186289.aspx

これは私が知っているどのデータベースエンジンでも機能します。完全にデータベースをバックアップし、スクリプトを実行し、復元することができます。そうすれば、データベースをスクリプトを実行する前と同じようにすることができます。

ところで、バックアップを実行するためにデータベースをオフラインにする必要はありません。ただし、リストアを実行するとデータベースはオフラインになりますので注意してください。

+0

私の心配は、DBを復元するそのプロセスのスピードについてです。 サイズが30GBを超えるDBでは十分高速ですか? これらのDBファイルをコピーすれば十分で安全でしょうか? – Wiktor

+0

データベースを接続解除してから再度接続しない限り、ファイルをコピーすることはできません。復元は高速ですが、もちろんサーバーによって異なります。 1つのコアと2 GBのRAMを搭載したサーバーで30 GBのデータベースを復元する必要がある場合は、ほとんどの場合時間がかかります。 64コアRAMとRAID 10を搭載した16コアのデータベースを復元する場合は、数秒かかる場合があります。データベースのサイズはパフォーマンスを知る尺度ではありません。どれくらい時間がかかるかを知る必要がある場合は、データベースをオフラインにして実行に要する時間を確認してください。 – asemprini87

+0

おそらくあなたは以下をチェックすることができます:https://www.brentozar.com/archive/2010/02/how-to-make-sql-server-backups-and-restores-faster/ – asemprini87

0

これは、DBのバックアップへの迅速なスクリプトは次のとおりです。

SET @fileName = <Backup path> + <Backup file name> + '.BAK' 
    BACKUP DATABASE @name TO DISK = @fileName 
関連する問題