Mon entreprise est passée de 50 serveurs SQL à plus de 200 du jour au lendemain dans le cadre d'une acquisition par fusion. AIDEZ-MOI!
Mes questions sont:
Comment puis-je effectuer des mises à jour CU sur ces nombreux serveurs tout en ayant une vie et en gardant ma raison? SCCM ne semble pas être en mesure d'effectuer des mises à jour CU.
Quelqu'un d'autre a-t-il pu effectuer des mises à jour CU sur des centaines de serveurs?
Quelles sont les autres alternatives?
Le cool way
consiste à utiliser un script d'installation sans assistance qui est simplement appelé depuis chaque serveur, où le support d'installation se trouve dans un répertoire central de votre réseau, accessible depuis chaque serveur. Vous devrez exécuter le script en mode élevé, ce qui est assez facile dans PowerShell.
Vous devrez utiliser la CLI pour extraire le correctif, je l'ai trouvé ici . Ensuite, les options CLI pour le correctif SQL Server peuvent être trouvées ici .
Les commandes suivantes sont celles que j'ai utilisées pour appliquer le correctif CU6 à l'instance SQL Server 2012 SP2 locale sur mon ordinateur portable. J'ai changé pour le répertoire dans lequel j'ai téléchargé le correctif:
.\SQLServer2012-KB3052468-x64.exe /X:E:\Software\SQL_Server\2012\SP2_CU6\Extracted
cd Extracted
.\setup.exe /action=patch /instancename=SQL12 /quiet /IAcceptSQLServerLicenseTerms
Vous travaillez à peu près simplement à écrire ceci en tant que script pour chaque serveur, puis tirez cette partie du journal récapitulatif (ou tout simplement le journal entier) à un emplacement central afin de pouvoir revenir en arrière et déterminer l'état. L'option 2 serait d'inclure simplement quelques lignes de code pour se connecter à chaque instance et vérifier le numéro de build.
L'installation sans assistance est la voie à suivre - comme @ ShawnMelton mentionné . Pour déployer CU sur 100 serveurs, vous pouvez explorer les options ci-dessous (testez-les pour savoir ce qui fonctionnera pour vous et votre environnement):
Enter-PSSession -ComputerName <COMPUTERNAME>
Old is Gold - utilisant .bat
fichier. <== cela fonctionne définitivement avec SCCM puisque vous pouvez déployer .bat
fichiers vers plusieurs serveurs à l'aide de SCCM.
Vous trouverez ci-dessous un exemple d'installation de SQL2008_SP2_and_CU_2k8_64bit
(modifiez selon vos besoins). Vous pouvez alimenter le fichier bat vers SCCM afin qu'il puisse effectuer une installation en masse.
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
Je ne ferais jamais ce type de mise à jour en masse sur ces nombreux serveurs (100) en une seule fois. Au lieu de cela, regroupez-les en groupes gérables, puis corrigez-les en groupes.
De cette façon, vous pouvez facilement déterminer si quelque chose ne va pas - par exemple s'il y a un bogue dans la CU que vous installez et qu'il est corrigé dans une CU ou un SP ultérieur. Ou en ce qui concerne l'installation également, si vous corrigez 100 serveurs en une seule fois et que 5 ou 7 serveurs n'ont pas été correctement corrigés, comment allez-vous comprendre cela?
Je gère plus de 300+ serveurs dans mon entreprise et je préfère les patcher en lots plus petits sur une base hebdomadaire. SO vous commencez avec un petit nombre et une fois que vous gagnez en confiance, vous répétez la même chose.
ÉDITER:
Maintenant, dbatools a Update-DbaInstance.ps1
qui peut effectuer l'installation des Service Packs SQL Server et des mises à jour cumulatives sur les serveurs locaux et distants.