Yüzlerce makinede SQL Server için CU güncellemeleri yapmanın harika bir yolu var mı?


19

Şirketim 50 SQL Server'dan bir gecede birleşme satın almasıyla 200'ün üzerine çıktı. YARDIM!

Sorularım:

  • Bu birçok sunucuda CU güncellemelerini nasıl yapabilirim ve hala bir hayatım var ve aklımı koruyabilirim? SCCM, CU güncellemelerini gerçekleştiremiyor gibi görünüyor.

  • 100'lü sunucularda başka birisi CU güncellemesi yapabildi mi?

  • Başka alternatifler nelerdir?


Shawn'un yöntemi kesinlikle bunu yapmak için harika bir yöntemdir. WSUS çok daha az havalı, ancak daha fazla destekleniyor. Her ikisi de iyi çözümlerdir.
Ali Razeghi

5
Bu makinelerde izin verilen kesinti pencereleri nelerdir? Kesintileri istediğiniz zaman alabilir misiniz veya belirli makineler için zaman çizelgeleri yapmak zorunda mısınız? Kümeler söz konusu mu? Yansıtma ve çoğaltma? AlwaysOn Kullanılabilirlik Grupları? Yedekleme veya ETL yükleme işleri gibi durdurulması gerekebilecek toplu işler?
Brent Ozar

"Cool" bir şeyi tanımlamanın nesnel bir yolu değildir. = / Bir düzenleme önerecektim, ancak işe yarayan bir şey bulamadım.
jpmc26

Makalesinde Bret Ozars sitesinde yayınlanan bu soruya büyük bir cevap vardı. "Neden hiç kimse kendi sql sunucularını yamalı". brentozar.com/archive/2015/08/…
Russ Starksen

Yanıtlar:


15

Bu cool way, yükleme ortamının ağınızdaki merkezi bir dizinde olduğu ve her sunucudan erişilebilen her sunucudan çağrılan katılımsız bir yükleme komut dosyası kullanmaktır. Komut dosyasını yükseltilmiş bir modda çalıştırmanız gerekecektir, bu da PowerShell'de oldukça kolaydır.

Düzeltmeyi ayıklamak için CLI kullanmanız gerekecek, bunu burada buldum . Ardından SQL Server düzeltme eki için CLI seçeneklerini burada bulabilirsiniz .

Aşağıdaki komutlar, CU6 düzeltme ekini dizüstü bilgisayarımdaki yerel SQL Server 2012 SP2 örneğine uygulamak için kullandığım komutlardır. Düzeltmeyi indirdiğim dizine değiştirdim:

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

resim açıklamasını buraya girin

resim açıklamasını buraya girin

Hemen hemen her sunucu için bir komut dosyası olarak yazmaya çalışın, sonra geri dönüp durumu belirleyebilmeniz için özet günlüğünün (veya tüm günlüğün) bir kısmını merkezi bir noktaya çekin. Seçenek 2, her bir örneğe bağlanmak ve yapı numarasını doğrulamak için yalnızca birkaç satır kod eklemek olacaktır.


9

@ShawnMelton'un belirttiği gibi, katılımsız yükleme yöntemidir . CU'yu 100'lü sunuculara dağıtmak için aşağıdaki seçenekleri keşfedebilirsiniz (bunları test edin, böylece sizin ve çevreniz için neyin işe yarayacağını biliyorsunuz):

  1. Sysinternals - PsExecuzak makinelere kurulum yapmanıza izin verir.
  2. PowerShell - Kurulumu gerçekleştirmek için PowerShell 3.0 ve sonraki sürümlerde uzaktan kumanda özelliğini kullanın. ÖrneğinEnter-PSSession -ComputerName <COMPUTERNAME>
  3. Eski altın - .batdosya kullanıyor . <== SCCM ile .batdosyaları birden fazla sunucuya dağıtabildiğiniz için bu kesinlikle SCCM ile çalışır .

    Aşağıda bir kurulum örneği verilmiştir SQL2008_SP2_and_CU_2k8_64bit (ihtiyaçlarınıza göre değiştirin) . Toplu dosyayı yüklemek için yarasa dosyasını SCCM'ye besleyebilirsiniz.

    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

Yan not olarak (Dikkat!):

Asla tek seferde bu çok sayıda sunucuya (100'ler) bu tür toplu güncelleme yapmazdım. Bunun yerine bunları yönetilebilir gruplar halinde toplayın ve ardından gruplar halinde yamalayın.

Bu şekilde bir şeyin yanlış gittiğini kolayca anlayabilirsiniz - örneğin, yüklediğiniz CU'da bir hata varsa ve daha sonraki bir CU veya SP'de sabitlenir. Ya da kurulum akıllıca, eğer bir çekimde 100 sunucu yamaları ve bunların dışında 5 ya da 7 sunucu yamalı düzgün yama yoktu, bunu nasıl anlayacaksınız?

Şirketimde 300'den fazla sunucuyu yönetiyorum ve bunları haftalık olarak daha küçük gruplar halinde yamalamayı tercih ediyorum. Yani küçük bir sayı ile başlarsınız ve bir kez güven kazanırsanız, aynı şeyi tekrarlarsınız.

DÜZENLE:

Artık dbatools, Update-DbaInstance.ps1yerel ve uzak sunucularda SQL Server Hizmet Paketleri ve Toplu Güncelleştirmeler yüklemesini gerçekleştirebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.