Esiste un modo interessante per eseguire aggiornamenti CU per SQL Server su centinaia di macchine?


19

La mia azienda è passata da 50 SQL Server a oltre 200 dall'oggi al domani in un'acquisizione di fusione. AIUTO!

Le mie domande sono:

  • Come posso eseguire aggiornamenti CU su così tanti server e avere ancora una vita e mantenere la mia sanità mentale? SCCM non sembra essere in grado di eseguire aggiornamenti CU.

  • Qualcun altro è stato in grado di eseguire aggiornamenti CU su centinaia di server?

  • Quali sono alcune altre alternative?


Il metodo di Shawn è sicuramente un metodo interessante per farlo. WSUS è molto meno interessante, ma più supportato. Entrambe sono buone soluzioni.
Ali Razeghi,

5
Quali sono le finestre di interruzione consentite su quelle macchine? È possibile interrompere le interruzioni ogni volta che lo si desidera o è necessario pianificare programmi per macchine specifiche? I cluster sono coinvolti? Mirroring e replica? Gruppi di disponibilità AlwaysOn? Lavori batch che potrebbero dover essere arrestati, come backup o lavori di caricamento ETL?
Brent Ozar,

"Cool" non è un modo oggettivo di descrivere qualcosa. = / Stavo per suggerire una modifica, ma non riuscivo a trovare nulla che funzionasse.
jpmc26,

C'è stata una grande risposta a questa domanda pubblicata sul sito Bret Ozars nel suo articolo. "Perché nessuno corregge mai i loro server sql". brentozar.com/archive/2015/08/…
Russ Starksen,

Risposte:


15

È cool wayutilizzare uno script di installazione automatica che viene semplicemente chiamato da ciascun server, in cui il supporto per l'installazione si trova su una directory centrale della rete, accessibile da ciascun server. Dovrai eseguire lo script in modalità elevata, il che è abbastanza semplice in PowerShell.

Sarà necessario utilizzare l'interfaccia della riga di comando per estrarre l'aggiornamento rapido, l' ho trovato qui . Quindi le opzioni della CLI per la patch di SQL Server sono disponibili qui .

I seguenti comandi sono quelli che ho usato per applicare la patch CU6 all'istanza locale di SQL Server 2012 SP2 sul mio laptop. Ho cambiato la directory in cui ho scaricato l'aggiornamento rapido a:

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

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Praticamente ti alleni a scrivere questo come uno script per ciascun server, quindi inserisci quel bit del registro di riepilogo (o solo l'intero registro) in un punto centrale in modo da poter tornare indietro e determinare lo stato. L'opzione 2 dovrebbe includere solo alcune righe di codice per connettersi a ciascuna istanza e verificare il numero di build.


9

L'installazione automatica è la strada da percorrere - come menzionato da @ShawnMelton . Per distribuire CU su centinaia di server, puoi esplorare le seguenti opzioni (testali, in modo da sapere cosa funzionerà per te e il tuo ambiente):

  1. Sysinternals : PsExecti consentirà di generare l'installazione su macchine remote.
  2. PowerShell : utilizzare la funzionalità remota in PowerShell 3.0 e versioni successive per eseguire l'installazione. per esempioEnter-PSSession -ComputerName <COMPUTERNAME>
  3. Old is Gold - usando il .batfile. <== questo funziona sicuramente con SCCM poiché puoi distribuire .batfile su più server usando SCCM.

    Di seguito è riportato un esempio di installazione SQL2008_SP2_and_CU_2k8_64bit (modifica in base alle proprie esigenze) . Puoi inviare il file bat a SCCM in modo che possa eseguire un'installazione di massa.

    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
    

Come nota a margine (attenzione!):

Non farei mai questo tipo di aggiornamento di massa su questi molti server (100) in un colpo solo. Invece li raggruppa in gruppi gestibili e poi li patch in gruppi.

In questo modo puoi facilmente capire se qualcosa va storto, ad esempio se c'è un bug nella CU che stai installando, e viene risolto in una CU o SP successiva. O anche dal punto di vista dell'installazione, se stai patching di 100 server in una volta sola e su di essi 5 o 7 server non sono stati correttamente riparati, come lo capirai?

Gestisco più di 300 server nella mia azienda e preferisco correggerli in lotti più piccoli su base settimanale. Quindi inizi con un piccolo numero e una volta acquisita sicurezza, ripeti lo stesso.

MODIFICARE:

Ora dbatools Update-DbaInstance.ps1può eseguire l'installazione di Service Pack e aggiornamenti cumulativi di SQL Server su server locali e remoti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.