REPLACE オプションの使用

通常、復元により、誤ってデータベースを別のデータベースで上書きしてしまうのを防ぐことができます。RESTORE ステートメントで指定したデータベースが現在のサーバーに既に存在し、指定したデータベース名がバックアップ セットに記録されているデータベース名と異なる場合、そのデータベースは復元されません。これは重要な保護機能です。

ms191315.Caution(ja-jp,SQL.90).gif注意 :
REPLACE は頻繁に使用すべきではありません。使用するのは十分に検討した後のみに限定してください。

REPLACE オプションにより、通常は復元によって実行されるいくつかの重要な安全性チェックが無効になります。無効になるチェックは次のとおりです。

  • 別のデータベースから取得したバックアップで既存のデータベースに復元することに対するチェック。
    REPLACE オプションを使用すると、バックアップ セットに含まれているどのデータベースでも既存のデータベースを上書きできます。このことは、指定したデータベース名がバックアップ セットに記録されているデータベース名と異なる場合でも当てはまります。これにより、誤ってデータベースを別のデータベースで上書きしてしまう可能性があります。
  • ログ末尾のバックアップを行っておらず、STOPAT オプションを使用しない場合に、完全復旧モデルまたは一括ログ復旧モデルを使用してデータベースに復元することに対するチェック。
    最近書き込まれたログをバックアップしていないので、REPLACE オプションを使用すると、コミットされた作業が失われる可能性があります。
  • 既存のファイルを上書きすることに対するチェック。
    たとえば、間違った種類のファイル (.xls ファイルなど) や、別のデータベースによって使用されているオンラインになっていないファイルを誤って上書きしてしまう場合があります。復元されたデータベースが完全であっても、既存のファイルが上書きされた場合はなんらかのデータが失われている可能性があります。

参照

その他の技術情報

RESTORE (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手