web-dev-qa-db-ja.com

分散型可用性グループでのSQL Server 2016と2017の混在

2つのSQLServer 2016インスタンス(WSFC内の2つのWindows 2016サーバー)で構成される古い可用性グループがあります。また、2016 AGに最初に参加したかった2つの新しいSQLServer 2017インスタンス(2つのWindows Server 2016)もあります。

これはダウンタイムなしの移行シナリオであり、DBが2017のサーバーに配置されると、2016のサーバーは破棄されます。

残念なことに、2017年のインスタンスを既存の2016 AGに結合できないことを発見しましたが、本番環境の停止、バックアップの取得と復元、DBの同期の待機、名前の変更(そして場合によっては) IP)は、最後のリソースとしてでない限り、元のAGと一致する新しいAGの...

その後、「Distributed AG Group」と呼ばれる新しい2016年のサービスに出会い、それを私の移行シナリオに使用することを考え始めました...基本的には次のようになります。

  1. SQL 2017インスタンスで新しいAGを作成する
  2. 元の2016 AGと新しい2017 AGの間に分散AGを作成します(アプリケーションは引き続き2016のリスナーに接続します)
  3. 2017 AGでDB同期が行われるのを待ちます
  4. 2017 AGをプライマリにします
  5. 分散AGから2016 AGを削除する(アプリケーションのダウンタイムが短い)
  6. 2017のリスナーの名前とIPを変更します(アプリケーションが再び起動します)
  7. 分散AGを削除する

実現可能ですか? Distributed AGで2016 AGと2017 AGを混在させることはできますか?または、(明らかに!)私が見逃しているものがあり、それを作成するためのより簡単または適切な方法がありますか?

4
Blablas

実現可能ですか? Distributed AGで2016 AGと2017 AGを混在させることはできますか?

私は Allan Hirt SQL Server MVPおよびHA/DR Guruから、これが実際に可能であり、サポートされていることを確認しました。 BOLでは2つの異なることが言及されているため、混乱が生じる可能性があります。両方を強調します

分散型可用性グループ ドキュメントからの引用

分散型可用性グループは複数の可用性グループにまたがり、それぞれが独自の基盤となるWSFCクラスター上にあり、分散型可用性グループはSQL Serverのみの構成要素です。つまり、個々の可用性グループを格納するWSFCクラスターは、Windows Serverの異なるメジャーバージョンを持つことができます。 SQL Serverのメジャーバージョンは同じである必要があります

したがって、DAGで異なるWindowsサーバーバージョンを使用できますが、DAGで異なるSQL Serverバージョンを使用することはできません。ここからはバージョンは同じであるように見えますが、もう一度見ると 可用性グループインスタンスのアップグレード と表示されています

AGを使用してSQL Serverインスタンスの新しいバージョンに移行するためにサポートされている唯一の方法は、SQL Server 2016 Enterprise Edition以降の分散AGです。

今、あなたはこれが前のものではなくこれを信じるべきです

または、(明らかに!)私が見逃しているものがあり、それを作成するためのより簡単または適切な方法がありますか?

分散AGとは別に、ここでは2つのアプローチを検討します

  1. サイドバイサイドアップグレード

トランザクションログ配布がここで役立つと思います。

  • SQL Server 2017がインストールされた新しいWSFCを作成-ダウンタイムなし

  • 現在、AGを作成しないでください

  • SQL Server 2016からSQL Server 2017へのログシップデータベース。-ダウンタイムなし

  • 「カットオーバー」中にログ配布を停止し、SQL Server 2017上のデータベースをオンラインにします。--小さなダウンタイム

  • 次に、この新しいデータベースをアプリケーションに指定します。

  • 新しいSQL Server 2017でAGを構成してください。

大規模なデータベースを使用している場合、ログ配布の構成に少し苦労することはわかっていますが、これは私が見るのに最適です。

  1. インプレースアップグレード

可用性グループのローリングアップグレードを実行します。 可用性グループインスタンスのアップグレード

6
Shanky