web-dev-qa-db-ja.com

ライブSQL Serverデータベースを新しいサーバーに移動する

SQL Server 2008 Web Editionを実行している運用サーバーがあり、ダウンタイムがほとんどなく24時間年中無休で実行する必要があります。より高度なサーバーハードウェアに移行するときです。また、SQL Serverに移行する良い機会でもあります。 2012エンタープライズ。

今私の質問ですが、データベースをまったく停止せずにこの移行を行うにはどうすればよいですか?たとえば、2つのサーバー間で何かをレプリケーションとして設定するように、両方のサーバーでまったく同じデータベースを最新の状態にし、データベース接続のIPアドレスを変更して、メインサービスを1分間停止します。古いサーバーから新しいサーバーへ。新しいサーバーには古いサーバーと同じコピーがあることを確認します。

許容可能な期間よりも時間がかかるため、バックアップ/復元のアプローチを使用できません。そのため、バックアップ/復元を実行する場合とまったく同じデータベースを保証するものが必要です。 5分は、手頃な価格の最大ダウンタイムになる可能性があります。

データベースのサイズは約100GBです。

新しいサーバーは2012 Enterpriseを実行しており、古いサーバーは2008 Webを実行しています

例外的にデータベースからレコードをアーカイブし、そのサイズを20GBまで最小化できます。

SQL Server 2008 Webエディションをエンタープライズエディションにアップグレードするオプションがあります。これにより、レプリケーションなど、より多くのソリューションに役立つ場合がありますか?

7
Abed

sQL Server 2008 Webエディションを使用しているので、最善の策はLOG SHIPPINGを使用することです。

データベースのサイズは100GBなので、バックアップからセカンダリを初期化することを検討する必要があります。 GUIを使用して初期ログ配布を設定しないでください。

だからあなたのステップは:

  • 2008 Web Editionデータベースをバックアップし、2012エンタープライズWITH NORECOVERYに復元します。
  • Logshippingウィザードを起動し、必ずsecondary is already initializedを選択してください。すべての1 minになるようにログ配布を構成します(これは、取得できる最小値です)。

    enter image description here

  • すべてのログイン、ジョブ、SSISパッケージを移動します。

新しいサーバーへの切り替え中:

  • データベースに接続しているすべてのWebサーバーを停止します

  • ログシッピングのすべてのバックアップ、コピー、および復元ジョブを停止します。

  • 最後のTailログのバックアップを取り、セカンダリWITH RECOVERYに復元します。

  • ログインを同期します。

  • アプリケーションのweb.configを変更して、新しいサーバーを指すようにします。このようにして、古いサーバーと一致するように新しいサーバーのIPアドレスを変更する必要はありません。

復元後の手順をここで詳しく説明します

11
Kin Shah