Чи є класний спосіб виконання оновлень CU для SQL Server на сотнях машин?


19

Моя компанія зросла з 50 SQL-серверів до понад 200 за ніч у процесі злиття. ДОПОМОГА!

Мої запитання:

  • Як я можу виконувати оновлення МС на цих багатьох серверах і все ще жити і зберігати розум? SCCM, здається, не може виконати оновлення CU.

  • Хтось ще міг виконувати оновлення МС на 100-ти серверах?

  • Які ще існують альтернативи?


Метод Шона, безумовно, класний спосіб зробити це. WSUS набагато менш крутий, але більш підтримуваний. Обидва - це хороші рішення.
Алі Разегі

5
Які дозволені вікна відключення на цих машинах? Чи можете ви робити зриви в будь-який час, або вам доведеться робити графіки роботи для певних машин? Чи задіяні кластери? Дзеркальне відображення та реплікація? Завжди про групи доступності? Пакетні завдання, які, можливо, потрібно буде зупинити, як резервні копії чи завантаження ETL?
Брент Озар

"Круто" - це не об'єктивний спосіб описувати щось. = / Я збирався запропонувати змінити, але не міг придумати нічого, що спрацювало.
jpmc26

На це запитання була розміщена чудова відповідь, розміщена на сайті Bret Ozars у його статті. "Чому ніхто ніколи не виправляє свої sql-сервери". brentozar.com/archive/2015/08/…
Russ Starksen

Відповіді:


15

cool wayЄ використання сценарію автоматичної установки , який просто викликається з кожного сервера, де засоби масової інформації для установки знаходиться на центральному каталозі в мережі, який доступний з кожного сервера. Вам доведеться запускати сценарій у підвищеному режимі, що в PowerShell це досить просто.

Вам потрібно буде скористатися CLI для витягу виправлення. Я це виявив тут . Тоді параметри CLI для патчу SQL Server можна знайти тут .

Наступні команди - це те, що я використовував, щоб застосувати патч 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 на 100 серверах, ви можете вивчити нижче варіанти (протестуйте їх, щоб ви знали, що буде працювати для вас та вашого оточення):

  1. Сисинтернали -PsExec дозволить нерестувати встановлення на віддалені машини.
  2. PowerShell - Використовуйте функцію видалення в PowerShell 3.0 і новіших версій для встановлення. напрEnter-PSSession -ComputerName <COMPUTERNAME>
  3. Старе - це золото .bat файл. <== це, безумовно, працює з 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) за один кадр. Замість цього з'єднуйте їх у керованих групах, а потім виправляйте їх у групи.

Таким чином, ви можете легко зрозуміти, чи щось піде не так - наприклад, якщо в МС, який ви встановлюєте, є помилка, і вона буде виправлена ​​в більш пізньому МС або СП. Або встановлення розумне також, якщо ви виправляєте 100 серверів за один кадр, і з них 5 або 7 серверів не зафіксовано належним чином, як ви це зробите?

Я керую більш ніж 300+ серверами у своїй компанії, і я вважаю за краще щотижня їх латати меншими партіями. Так ви починаєте з невеликої кількості, і як тільки ви набуваєте впевненості, ви повторюєте те саме.

Редагувати:

Тепер dbatools має Update-DbaInstance.ps1змогу виконувати встановлення пакетів послуг SQL Server та накопичувальних оновлень на локальних та віддалених серверах.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.