web-dev-qa-db-ja.com

WindowsおよびSQL Serverのパッチが3年以上適用されていない場合のパッチ戦略

私がいる会社では、SQL 2012やWindows 2012でも、しばらくの間は運用サーバーにパッチを適用していません。「しばらく」と言った場合、実際には「まったく」意味しません。 2012年後半。冗長性のために自動フェイルオーバーを備えた同期AGを使用しているため、一度に1つのノードをアップグレードできます。

自動フェイルオーバーを無効にし、2番目のノードを更新し、データベースをフェイルオーバーしてから、最初のノードを更新する計画です。

質問:どのようにこれに取り組むことをお勧めしますか? 3年間のDBおよびOSパッチを2番目のノードに一度に適用してから、そのノードにフェイルオーバーしますか?ノードはどれだけ同期できなくても、AGデータベースのトラブルのないフェイルオーバーを期待できますか?最初にWindowsの更新、またはSQL CUを実行する方が良いですか?

目標は、ダウンタイムとフェイルオーバー/フェイルバックの数を最小限に抑えることです。

4
Mike

IMHO更新を主要なSPとOSとSQLに分割することをお勧めします。そうすれば、何かが壊れた場合、より簡単にロールバックして問題を特定できます。たとえば、Server 2012 SP1をロールアウトして1〜2週間熟成させてから、SQLを実行しますSP 1〜2週間待つ、など...

この方法は、セカンダリノードへのパッチ適用、フェイルオーバー、プライマリノードへのパッチ適用、およびクラスタのバランス調整に適しています。

2
Jarealist

まず、オペレーティングシステムにパッチを適用します。必要に応じて、最新のWindows Service Packとすべてのアップデートを再起動してセカンダリノードを再インストールします。セカンダリに完全にパッチが適用されたら、SQL Serverをセカンダリにフェールオーバーし、問題がなければ、両方に完全にパッチが適用されるまでプライマリノードの更新を開始します。

SQL Serverの場合、累積的な更新をインストールする前に、サービスパックをインストールして両方のホスト間でフェールオーバーする必要があります。これは、同じ方法で行います。セカンダリ/フェイルオーバーにサービスパックをインストールし、プライマリ/フェイルオーバーを更新します。セカンダリ/フェールオーバーにCUをインストールし、プライマリにCUをインストールして祝います。

したがって、全体としてはsqlサービスの少なくとも6回のフェイルオーバーが必要になりますが、ローリング更新を実行することの良い点は、日中は非アクティブなサーバーにパッチを適用でき、フェイルオーバー時間は非常に短いため、早期にスケジュールすることができます。あなたが好む朝または夜遅く。

また、サーバーのファームウェアとドライバーの更新についても調べます。サーバー管理者(またはドキュメント)に確認してください。ファームウェアを更新する前に更新するドライバーのようなサーバーもあります。

2
Spörri