数百台のマシンでSQL ServerのCU更新を実行するクールな方法はありますか?


19

私の会社は、合併買収で一晩で50台のSQL Serverから200台以上に成長しました。助けて!

私の質問は:

  • この多くのサーバーでCUの更新を実行し、それでも生命を保ち、正気を保つにはどうすればよいですか?SCCMはCU更新を実行できないようです。

  • 他の誰かが何百台ものサーバーでCU更新を実行できましたか?

  • 他の選択肢は何ですか?


ショーンの方法は確かにそれを行うためのクールな方法です。WSUSは格段にクールではありませんが、よりサポートされています。両方とも良い解決策です。
アリラゼギ

5
それらのマシンで許可される停止ウィンドウは何ですか?いつでも停止できますか、または特定のマシンのスケジュールを設定する必要がありますか?クラスターが関係していますか?ミラーリングとレプリケーション?AlwaysOn可用性グループ?バックアップやETLロードジョブなど、停止する必要があるバッチジョブはありますか?
ブレントオザー

「クール」は何かを記述する客観的な方法ではありません。= /編集を提案するつもりでしたが、機能するものを思い付くことができませんでした。
jpmc26

彼の記事でBret Ozarsのサイトに投稿されたこの質問に対する素晴らしい返信がありました。「なぜ誰もSQLサーバーにパッチを適用しない」。brentozar.com/archive/2015/08/...
ラスStarksen

回答:


15

これcool wayは、各サーバーから単純に呼び出される無人インストールスクリプトを使用することです。インストールのメディアは、ネットワーク上の中央ディレクトリにあり、各サーバーからアクセスできます。スクリプトを昇格モードで実行する必要がありますが、これはPowerShellではかなり簡単です。

修正プログラムを抽出するには、CLIを使用する必要がありますここで見つけました。SQL ServerパッチのCLIオプションは、ここにあります

次のコマンドは、CU6パッチをラップトップのローカルSQL Server 2012 SP2インスタンスに適用するために使用したものです。ホットフィックスをダウンロードしたディレクトリに変更しました:

.\SQLServer2012-KB3052468-x64.exe /X:E:\Software\SQL_Server\2012\SP2_CU6\Extracted
cd Extracted
.\setup.exe /action=patch /instancename=SQL12 /quiet /IAcceptSQLServerLicenseTerms

ここに画像の説明を入力してください

ここに画像の説明を入力してください

これを各サーバーのスクリプトとして作成するだけで、要約ログの一部(またはログ全体)を中央の場所に取り込むだけで、戻ってステータスを確認できます。オプション2は、各インスタンスに接続してビルド番号を確認するコードを数行だけ含めることです。


9

@ShawnMeltonが述べたように、無人インストールがその方法です。数百台のサーバーにCUを展開するには、以下のオプションを試してください(テストして、あなたとあなたの環境で何が機能するかを理解してください):

  1. Sysinternalsのは - PsExecあなたがリモートマシンにインストールを起動することができます。
  2. PowerShell -PowerShell 3.0以降のリモート機能を使用してインストールを実行します。例えばEnter-PSSession -ComputerName <COMPUTERNAME>
  3. Old is Gold-using .batfile。 <==これは、SCCM .batを使用して複数のサーバーにファイルを展開できるため、SCCMで確実に機能します。

    以下は、インストールのサンプルですSQL2008_SP2_and_CU_2k8_64bit (必要に応じて変更します)一括インストールを実行できるように、batファイルをSCCMにフィードできます。

    REM starting SQL SP2 cu install.
    "C:\temp\SQL2008_SP2_and_CU_2k8_64bit\CU\SQLServer2008-KB2467239-x64.exe" /allinstances /quiet
    REM SQL SP2 cu install complete
    
    REM optional   STEP to reboot your machine 
    REM Reboot the host before kicking off the install
    shutdown.exe /r /f /c "DBA scheduled reboot" /t 30

サイドノートとして(注意!):

これらの多くのサーバー(100台)に対して、この種の一括更新を一度に行うことはありません。代わりに、それらを管理可能なグループにまとめてから、グループにパッチを適用します。

このようにして、何か問題が発生したかどうかを簡単に把握できます。たとえば、インストールしているCUにバグがあり、それが後のCUまたはSPで修正された場合などです。または、インストールに関しても、100台のサーバーに一度にパッチを適用し、そのうち5つまたは7つのサーバーに適切にパッチが適用されなかった場合、どうやってそれを把握するのですか?

社内で300台以上のサーバーを管理しており、週単位で小さなバッチでパッチを適用することを好みます。少ない数から始めて、自信がついたら同じことを繰り返します。

編集:

現在、dbatoolsにはUpdate-DbaInstance.ps1、ローカルサーバーとリモートサーバーにSQL Server Service Packと累積更新プログラムのインストールを実行できる機能があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.