web-dev-qa-db-fra.com

Existe-t-il un moyen intéressant d'effectuer des mises à jour CU pour SQL Server sur des centaines de machines?

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?

19
Russ Starksen

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

enter image description here

enter image description here

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.

15
user507

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):

  1. Sysinternals - PsExec vous permettra de lancer l'installation sur des machines distantes.
  2. PowerShell - Utilisez la fonction d'accès distant dans PowerShell 3.0 et versions ultérieures pour effectuer l'installation. par exemple. Enter-PSSession -ComputerName <COMPUTERNAME>
  3. 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
    

En note (Attention!):

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.

9
Kin Shah