Gibt es eine coole Möglichkeit, CU-Updates für SQL Server auf Hunderten von Computern durchzuführen?


19

Mein Unternehmen ist im Rahmen einer Fusion von 50 SQL-Servern über Nacht auf über 200 gewachsen. HILFE!

Meine Fragen sind:

  • Wie kann ich CU-Updates auf diesen vielen Servern durchführen und trotzdem ein Leben führen und meine Vernunft wahren? SCCM scheint keine CU-Updates durchführen zu können.

  • War noch jemand in der Lage, CU-Updates auf Hunderten von Servern durchzuführen?

  • Was sind einige andere Alternativen?


Shawns Methode ist sicherlich eine coole Methode, um es zu tun. WSUS ist viel weniger cool, wird aber mehr unterstützt. Beides sind gute Lösungen.
Ali Razeghi

5
Was sind Ihre erlaubten Ausfallfenster auf diesen Maschinen? Können Sie jederzeit Ausfälle vermeiden oder müssen Sie Zeitpläne für bestimmte Maschinen erstellen? Sind Cluster involviert? Spiegeln und Replizieren? AlwaysOn-Verfügbarkeitsgruppen? Batch-Jobs, die möglicherweise gestoppt werden müssen, z. B. Sicherungen oder ETL-Ladejobs?
Brent Ozar

"Cool" ist keine objektive Art, etwas zu beschreiben. = / Ich wollte eine Bearbeitung vorschlagen, konnte mir aber nichts einfallen lassen, was funktionierte.
jpmc26

In seinem Artikel gab es eine großartige Antwort auf diese Frage, die auf der Bret Ozars-Website veröffentlicht wurde. Msgstr "Warum niemand jemals seine SQL Server patcht". brentozar.com/archive/2015/08/…
Russ Starksen

Antworten:


15

Das cool way ist eine unbeaufsichtigte Installationsskript zu verwenden , die einfach von jedem Server genannt wird, in dem die Medien für die Installation auf einem zentrales Verzeichnis auf Ihrem Netzwerk, dh von jedem Server zugänglich. Sie müssen das Skript in einem erhöhten Modus ausführen, was in PowerShell recht einfach ist.

Sie müssen die CLI verwenden, um den Hotfix zu extrahieren. Das habe ich hier gefunden . Dann werden die CLI - Optionen für den SQL Server - Patch finden Sie hier .

Mit den folgenden Befehlen habe ich den CU6-Patch auf die lokale SQL Server 2012 SP2-Instanz auf meinem Laptop angewendet. Ich habe in das Verzeichnis gewechselt, in das ich den Hotfix heruntergeladen habe:

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

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Schreiben Sie dies einfach als Skript für jeden Server und ziehen Sie dann dieses Bit des Zusammenfassungsprotokolls (oder nur das gesamte Protokoll) an eine zentrale Stelle, damit Sie zurückgehen und den Status ermitteln können. Option 2 besteht darin, nur ein paar Codezeilen für die Verbindung zu jeder Instanz einzufügen und die Build-Nummer zu überprüfen.


9

Die unbeaufsichtigte Installation ist der richtige Weg - wie @ShawnMelton bereits erwähnt hat . Um CU auf Hunderten von Servern bereitzustellen, können Sie die folgenden Optionen untersuchen (testen Sie sie, damit Sie wissen, was für Sie und Ihre Umgebung funktioniert):

  1. Sysinternals -PsExec Ermöglicht es Ihnen, die Installation auf Remote-Computern zu starten.
  2. Power Shell - Verwenden Sie die Remoting-Funktion in PowerShell 3.0 und höher, um die Installation durchzuführen. z.BEnter-PSSession -ComputerName <COMPUTERNAME>
  3. Alt ist Gold - mit .bat Datei. <== Dies funktioniert auf jeden Fall mit SCCM, da Sie mit SCCM .batDateien auf mehreren Servern bereitstellen können.

    Im Folgenden finden Sie ein Installationsbeispiel SQL2008_SP2_and_CU_2k8_64bit (ändern Sie es gemäß Ihren Anforderungen) . Sie können die bat-Datei an SCCM weiterleiten, damit eine Masseninstallation durchgeführt werden kann.

    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

Als Randnotiz (Achtung!):

Ich würde niemals diese Art von Massenaktualisierung für diese vielen Server (100er) auf einmal durchführen. Stapeln Sie sie stattdessen in verwaltbaren Gruppen und patchen Sie sie dann in Gruppen.

Auf diese Weise können Sie leicht herausfinden, ob etwas schief geht - z. B. wenn in der zu installierenden CU ein Fehler vorliegt und dieser in einer späteren CU oder einem späteren SP behoben ist. Oder, was die Installation angeht, wenn Sie 100 Server auf einmal patchen und 5 oder 7 Server nicht richtig gepatcht wurden, wie können Sie das herausfinden?

Ich verwalte mehr als 300 Server in meinem Unternehmen und bevorzuge es, diese wöchentlich in kleineren Stapeln zu patchen. Sie beginnen also mit einer kleinen Zahl und wenn Sie erst einmal Vertrauen gewonnen haben, wiederholen Sie dasselbe.

BEARBEITEN:

Jetzt kann dbatools Update-DbaInstance.ps1die Installation von SQL Server Service Packs und kumulativen Updates auf lokalen und Remote-Servern durchführen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.