2

私が取り組んでいるプロジェクトのタスクの 1 つは、SQL Server 2000 上の既存のデータベースを、SQL Server 2008 を実行する新しいサーバーに移行することです。このデータベースは非常に巨大で、2,300 万行と 78 GB の mdf ファイルがあります。

このサイズのデータ​​ベースを移行する最善の方法は何ですか?

私の現在のアプローチは次のとおりです。

  • アプリケーションがデータベースにレコードを書き込まないように、アプリケーションのダウンタイムを許容する
  • SQL Server 2000 で完全バックアップを実行します。
  • バックアップ ファイルをネットワーク経由で新しいサーバーに移動します。
  • SQL Server 2008 で完全バックアップを復元します。
  • 新しいサーバー上のデータベースを参照するようにアプリケーションを構成する
  • アプリケーションを再起動します。
  • SQL Server 2000 上のデータベースを廃止します。

ただし、アプリケーションのダウンタイムがどれくらいかかるかはわかりません。

より簡単なアプローチ、またはダウンタイムがほとんどないアプローチはありますか? アプリケーションの実行中にバックアップを取得できますか? 明らかに、バックアップ ファイルが転送され、復元が完了したら、アプリケーションを停止する必要があります。このようなタスクへのアプローチを聞くことに興味があります。

4

1 に答える 1

2

ダウンタイムを受け入れる場合:

  • データベースを切り離す
  • データファイルとログファイルを新しいサーバーにコピーします
  • 新しいサーバー インスタンスにデータベースをアタッチします。

切り離すと、データベースが閉じられ、ファイルがファイナライズされるため、ファイルを安全に移動 (またはファイルシステムのバックアップを介してバックアップ) できます。再アタッチするまで、サーバー インスタンスでアクセスできなくなります。

コピー中に何かが発生した場合に備えて、データ ファイルとログ ファイルをカット アンド ペーストまたは移動しないでください。

新しいサーバー インスタンスに移行する際には、他にも注意すべき点がいくつかあります。たとえば、新しいインスタンスにログインが存在することを確認することや、使用されている機能が非推奨になる可能性があることなどです。

detach/attachのリファレンスは次のとおりです。

于 2013-02-01T16:54:33.027 に答える