web-dev-qa-db-ja.com

可用性グループとセカンダリレプリカを使用したSQL Serverのパッチ

シナリオ:SQL Server 2014 CU6。 1つのAGと2つのデータベース(互換性レベル100)。 Windows Server 2012 R2上の3ノードのフェールオーバークラスター。ノード1とノード2のプライマリ可用性レプリカ。ノード3のセカンダリ可用性レプリカ(投票なし)。非同期コミット、手動フェイルオーバー、読み取り可能なセカンダリ。 Node 3は、これらの2つのデータベースでレポートを実行するために使用されます(ノード1および2でAGの外部で実行されている8つのデータベースのうち)。

問題:これらをSQL 2014からSP1および最新のCUにパッチすることを検討しています。私のビルドではなく、これまでのところAGまたはFCの経験はありません。私の「テスト」環境は開発にも使用されるので、ミスの余地はありません。

質問:

3つのノードにパッチを適用するための最良の順序は何ですか?

最初に、パッチを適用するノードのAGからデータベースを削除する必要がありますか?

パッチを適用するときにセカンダリを取り外す必要がありますか?

これに関する経験はありません、そして私は私のシナリオに対する明確な答えを見つけることができません(おそらくサポートされていませんか?)ドキュメントで https://msdn.Microsoft.com/en-us/library/dn178483(v = sql.120).aspx

3
Razvan Zoitanu

シナリオは呼び出され、提供したリンクでサポートされます。

1つのリモートセカンダリレプリカを持つ可用性グループ

災害復旧のためだけに可用性グループをデプロイした場合、可用性グループを非同期コミットのセカンダリレプリカにフェイルオーバーする必要がある場合があります。このような構成を次の図に示します。

DRシナリオでの可用性グループのアップグレード

この状況では、ローリングアップグレード/更新中に、可用性グループを非同期コミットセカンダリレプリカにフェールオーバーする必要があります。データの損失を防ぐには、コミットモードを同期コミットに変更し、セカンダリレプリカが同期されるのを待ってから、可用性グループをフェールオーバーします。したがって、ローリングアップグレード/更新プロセスは次のようになります。

1.リモートサーバーのアップグレード/更新

2.コミットモードを同期コミットに変更します

3.同期状態がSYNCHRONIZEDになるまで待ちます

4.可用性グループをリモートサイトにフェールオーバーする

5.ローカル(プライマリサイト)サーバーのアップグレード/更新

6.可用性グループをプライマリサイトにフェールオーバーします。

7.コミットモードを非同期コミットに変更する

10
Sean Gallardy

documentation はその後更新されましたが、以下は私のシナリオに対する完全な回答です。

AG Upgrade in HADR Scenario

  1. すべての同期コミットレプリカの自動フェイルオーバーを削除する

  2. 非同期コミットセカンダリレプリカを実行しているすべてのリモートセカンダリレプリカインスタンスをアップグレードする

  3. 現在プライマリレプリカを実行していないすべてのローカルレプリカセカンダリインスタンスをアップグレードする

  4. AGをローカルの同期コミットセカンダリレプリカに手動でフェイルオーバーする

  5. 以前にプライマリレプリカをホストしていたローカルレプリカインスタンスをアップグレードまたは更新する

  6. 必要に応じて自動フェイルオーバーパートナーを設定する

必要に応じて、追加の手動フェイルオーバーを実行して、AGを元の構成に戻すことができます。

1
Razvan Zoitanu