So stellen Sie SQL Server Service Packs kostenlos mit PowerShell bereit

Inhalt

Bereitstellen eines Service Packs auf mehreren Servern.

Wie jede andere Software, Microsoft SQL Server muss aktuell gehalten werden. Microsoft veröffentlicht routinemäßig Service Packs für SQL Server, die installiert werden müssen. So installieren Sie ein Service Pack, kann eine Verbindung zu einer Remote-SQL Server-Konsole herstellen, Führen Sie das Installationsprogramm aus und klicken Sie auf den Assistenten, oder du machst es ganz einfach.

Jedes SQL Server Service Pack-Installationsprogramm unterstützt unbeaufsichtigte Installationen. Diese Art der Installation ermöglicht es Ihnen, die Befehlszeile zu verwenden, um eine Installation zu starten. Zur selben Zeit, Es ermöglicht Ihnen auch, den Installationsvorgang des Service Packs in einem zu automatisieren, Dutzende oder Hunderte von SQL-Servern gleichzeitig.

Sobald Sie herausgefunden haben, wie Sie ein Service Pack im Hintergrund über die Befehlszeile installieren, Sie können mit PowerShell ein Automatisierungstool erstellen, um Service Packs schnell und effizient zu implementieren.

Voraussetzungen

In diesem Tutorialbeitrag wird beschrieben, wie Sie SQL Server Service Packs mit PowerShell von einem Remotecomputer aus implementieren. Weiter machen, Stellen Sie sicher, dass Sie Folgendes haben:

  • Ein SQL Server zum Aktualisieren (die version ist egal)
  • Benutzerberechtigungen zum Installieren eines Service Packs auf SQL Server
  • PowerShell-Remoting verfügbar auf Remote-SQL-Server
  • Ein heruntergeladenes Service Pack-Installationsprogramm (finden Sie alle Servicepakete Hier.)
  • Kenntnisse auf mittlerem Niveau in PowerShell-Skripting

Wenn alles in Ordnung ist, Lasst uns beginnen!

So installieren Sie ein Service Pack im Hintergrund und aus der Ferne, Es dauert ungefähr fünf Schritte:

  1. Stellen Sie sicher, dass der Server keinen ausstehenden Neustart hat.
  2. Kopieren Sie das Service Pack-Installationsprogramm auf den Remote-SQL-Server.
  3. Extrahieren Sie das komprimierte Installationsprogramm.
  4. Starten Sie das Installationsprogramm im Hintergrund.
  5. Reinigen Sie das Installationsprogramm.

Neustarttest ausstehend

Da ein Service Pack nicht installiert werden kann, es sei denn, Windows Server wartet nicht auf einen Neustart, Sie sollten diese Situation im Voraus überprüfen. Eine schnelle Möglichkeit, dies zu tun, ist die Verwendung von PowerShell. Ich bevorzuge eine Funktion namens Ausstehender Neustart testen. Indem Sie diese Funktion auf einen Server verweisen, gibt ein einfaches True zurück / Gefälscht, wodurch Sie wissen, ob der Server auf einen Neustart wartet.

Kopieren Sie das Service Pack-Installationsprogramm auf SQL Server

Nächste, Kopieren Sie das Installationsprogramm, das Sie von Microsoft heruntergeladen haben, auf den Remote-SQL-Server. Ich gehe davon aus, dass sich der Computer, von dem Sie das Installationsprogramm kopieren, in derselben Active Directory-Domäne wie SQL Server befindet. Wenn sich beide Computer in derselben Active Directory-Domäne befinden, no necesita preocuparse por proporcionar credenciales alternativas a sus comandos de PowerShell.

Hacerse cargo que el paquete de servicio está en su disco duro local es C: SQLServerServicePacks SQL2016SP2.exe y su servidor SQL remoto se llama SQLSRV, abra una consola de PowerShell y ejecute:

Copy-Item -Path C:SQLServerServicePacksSQL2016SP2.exe -DestinationPath SQLSRVc$

Ahora debería tener el instalador del paquete de servicios en la raíz de la unidad C de su servidor SQL.

Extrahieren Sie das komprimierte Installationsprogramm

Una vez que el instalador está en el servidor, puede extraer el contenido del instalador. Para extraer el instalador, use los argumentos /extract:"C:TempSQLSP" /quiet. Con el nombre de archivo del ejemplo anterior, ejecute el siguiente código en SQL Server:

C:SQLServerServicePacksSQL2016SP2.exe /extract:"C:TempSQLSP" /quiet

Trotz dieses, debido a que está instalando un paquete de servicio de forma remota, no necesita abrir una sesión de consola RDP en el servidor para hacerlo. Stattdessen, puede usar una función llamada Programa de invocación, que es la función de PowerShell que le posibilita ejecutar procesos remotos.

Puede ejecutar extraer el contenido del Service Pack en el SQL Server remoto, usando el siguiente código:

Invoke-Program -ComputerName SQLSRV -FilePath 'C:SQLServerServicePacksSQL2016SP2.exe' -ArgumentList "/extract:"C:TempSQLSP" /quiet"

Ejecute el instalador de Service Pack

In diesem Punkt, está listo para comenzar el procedimiento de instalación. Verwendung der Invoke-Program Función de PowerShell nuevamente, führe die setup.exe instalador que se extrajo del archivo original y proporcionar /q und /allinstances cambia a él. Le dice al instalador del paquete de servicio que no abra una ventana de instalación y que parchee todas las instancias de SQL en el servidor.

Puede ver un ejemplo de cómo iniciar el instalador aquí:

Invoke-Program -ComputerName SQLSRV -FilePath "C:TempSQLSPsetup.exe" -ArgumentList "/q /allinstances"

Limpiar el instalador

Wenn alles gut geht, tendrá un SQL Server actualizado una vez que finalice el instalador. Trotz dieses, tienes una última tarea que realizar: sauber.

Suponiendo que no desea dejar los archivos que había transferido previamente al servidor, elimínelos con el comando Remove-Item PowerShell. Trotz dieses, debe proporcionar la ruta a la carpeta que extrajo el archivo original y el instalador original. So geht's:

Remove-Item -Path "SQLSRVc$SQLServerServicePacksSQL2016SP2.exe","SQLSRVc$tempSQLSP" -Recurse -Force

Zusammenfassung

Ha instalado con éxito de forma remota un Service Pack de SQL Server usando nada más que un archivo y un script de PowerShell. Ahora que tiene las habilidades para actualizar un SQL Server para un servidor, puede extender fácilmente este código a varios servidores.

So implementieren Sie ein Service Pack auf mehreren Servern, PowerShell-Konstrukte als foreach-Schleife verwenden. Fügen Sie den Code, den Sie in diesem Beitrag gelernt haben, in eine foreach-Schleife ein, um schnell einen oder hundert SQL-Server gleichzeitig zu verarbeiten!!

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.