web-dev-qa-db-ja.com

VLDBをAlwaysON AGに移行する

私はAlwaysON AGを長い間使用しており、現在SQL 2012を使用しているアプリケーション用に120のデータベースと3つのAGグループで約10TBのデータを保持しており、大きな成功を収めています。各AGグループは、プライマリデータセンターに2つの同期レプリカ(異なるSANS上)とDRに1つのASYNCレプリカを持つパッチレベル11.0.5058.0で実行されています。土曜日の午前12時から4時までのメンテナンスウィンドウに収まらないほど十分なデータベースがないため、移行は問題になりませんでした。

私の問題は、2012に移行する最後のアプリケーションに、4 TBのTDE暗号化データベースデータベースが含まれていることです。これは、以前に移行したデータベースの約10倍です。広範囲にチューニングした後、データベースのバックアップに4時間かかります(TDEは嫌いです!!)

シードを増分するため、プライマリレプリカへの復元は瞬時に行われますが、問題は、可用性グループに追加する前にデータベースをバックアップする必要があることから生じます。 4時間は正確な停止時間帯であり、これ以上は取得できません。

アプリケーションを移行する私の計画は、

最初の停止ウィンドウ

  1. 2008から2012プライマリレプリカへのデータベースの復元

  2. アプリケーションのARECORD(またはcnameが不明)をプライマリレプリカに変更します。

  3. 次の停止ウィンドウまで、単一ノードでデータベースを実行します

1週間後:

  1. データベースを可用性グループに追加する
  2. ARECORD/CNAMEをリスナーに変更

これについて私が気に入らないのは、心配な3ノードではなく1ノードで1週間丸ごと行くことです。他の誰かがこれを達成する方法についてより良いアイデアを持っている場合、私はあなたから、または可用性グループでVLDBを使用した人々からのコメントの種類、およびあなたがそれを行うのが好き/嫌い/好きだったことを聞きたいです。私はこのソフトウェアにすべてを取り込もうとしていますが、これまでは気に入っていましたが、VLDBの移行に関しては心配になりました。

6
Greg Wellbrock

データベースに完全バックアップがあるという要件は、ウィザードによってのみ適用されます。可用性グループの作成後にデータベースを追加するだけの場合は、プライマリとセカンダリの両方で同じバックアップを復元してから、データベースを可用性グループに追加できます。メンテナンスウィンドウの時間を節約するために、通常は事前にフルバックアップを復元し、メンテナンスウィンドウの間に差分バックアップを作成します。

  1. 移動するデータベースの完全バックアップを取ります。
  2. 新しいプライマリで完全バックアップを復元します(== --- ==)WITH NORECOVERYこれにより、セカンダリが準備できるまでデータベースが使用されなくなります。
  3. 新しいセカンダリに同じ完全バックアップを復元しますWITH NORECOVERYこれは、AGに追加するために必要です。
  4. プライマリデータベースをRECOVERYで復元します。 RESTORE DATABASE [MyBigDB] WITH RECOVERY;
  5. プライマリインスタンスで、AlwaysOn高可用性>可用性グループ> MyAG>可用性データベースを右クリック>データベースの追加に移動します。
  6. データベースを選択 enter image description here
  7. 選択参加のみenter image description here
  8. セカンダリインスタンスに接続 enter image description here
  9. すべての検証をスキップする必要があります enter image description here
  10. すべてを確認し、[完了]または[スクリプトを保存]をクリックします。 enter image description here
  11. 可用性グループダッシュボードを表示して、同期が行われていることを確認します enter image description here
1
jclabonde