Blog

Skriptgesteuerte Installation SQL Server Teil 1 (Unattended installation of SQL Server)

Benedikt
Inhaber & Geschäftsführer

Es gibt viele Möglichkeiten, eine SQL Server Instanz zu installieren und je nach Situation eine passende Lösung. So kann neben der gewöhnlichen Installation mithilfe des GUIs auch eine Installation mittels eines SQL Configuration Files durchgeführt werden. Dies hat, je nach Situation, erhebliche Vorteile. In diesem Beitrag wollen wir uns anschauen, wie eine solche Installation funktioniert und in welchen Situationen sie hilfreich ist.

Was ist eine SQL Server Configuration File?

Zunächst sollten wir uns klar machen, was genau ein SQL Server Configuration File ist. Wird mithilfe der grafische Oberfläche (GUI) eine SQL Server Instanz installiert, so hat man während der Installation die Möglichkeit, Parameter für die zu installierende Instanz festzulegen, wie beispielsweise die zu installierenden Features. Im letzten Schritt der GUI-Installation ist nun die Möglichkeit gegeben, den Speicherort des SQL Server Configuration Files festzulegen. Diese Datei speichert die in der GUI-Installation festgelegten Konfigurationen.

Es gibt viele Möglichkeiten, eine SQL Server Instanz zu installieren und je nach Situation eine passende Lösung. So kann neben der gewöhnlichen Installation mithilfe des GUIs auch eine Installation mittels eines SQL Configuration Files durchgeführt werden. Dies hat, je nach Situation, erhebliche Vorteile. In diesem Beitrag wollen wir uns anschauen, wie eine solche Installation funktioniert und in welchen Situationen sie hilfreich ist.

Was ist eine SQL Server Configuration File?
Zunächst sollten wir uns klar machen, was genau ein SQL Server Configuration File ist. Wird mithilfe der grafische Oberfläche (GUI) eine SQL Server Instanz installiert, so hat man während der Installation die Möglichkeit, Parameter für die zu installierende Instanz festzulegen, wie beispielsweise die zu installierenden Features. Im letzten Schritt der GUI-Installation ist nun die Möglichkeit gegeben, den Speicherort des SQL Server Configuration Files festzulegen. Diese Datei speichert die in der GUI-Installation festgelegten Konfigurationen.

Installation mithilfe des Configuration Files

Wir gehen für dieses Beispiel davon aus, dass bereits eine Installation einer Instanz mittels der GUI durchgeführt und dementsprechend ein SQL Server Configuration File erstellt wurde. In unserem Beispiel verwenden wir eine SQL Server 2019 Instanz mit dem Namen “Test”, die lediglich über die Datenbank Engine verfügt. Es wurden keine weiteren zusätzlichen Features konfiguriert.

Um nun mit der Installation zu beginnen, schauen wir uns zunächst einmal das Configuration File an, dessen Pfad am Ende der GUI Installation angezeigt wurde.

Der Inhalt des Files sieht so aus:

Innerhalb des Files fallen uns nun eine Reihe von Parametern auf. Basierend auf den vorher ausgewählten Konfigurationen werden diese gesetzt. Wir wollen kurz auf sie eingehen:

  • QUITE – Bestimmt, ob eine Benutzeroberfläche deaktiviert ist
  • QUIETSIMPLE – das Setup zeigt nur den Fortschritt ohne Benutzerinteraktion an
  • UIMODE – definiert, wie die Benutzeroberfläche angezeigt wird. Dies erfordert allerdings, dass QUIETSIMPLE auf TRUE gesetzt wird
  • UpdateEnabled – erlaubt die Installation von Updates
  • UpdateSource – Legt den Speicherort der Updates fest
  • INDICATEPROGRESS – Legt fest, dass der Log auf der Konsole ausgegeben wird

Mithilfe dieser Parameter können wir nun unsere Installation beginnen.

Manuelle Installation mit vorkonfigurierten Einstellungen

Für die manuelle Installation konfigurieren wir die Parameter wie folgt:

  • QUIET = False
  • QUIETSIMPLE = False
  • UIMODE = Normal
  • UpdateEnabled = False
  • UpdateSource = MU
  • INDICATEPROGRSS = False

Da wir die Parameter nun geändert haben, ist es erforderlich das File erneut zu speichern. Zum Zwecke dieses Beispiels werden wir das File direkt im Hauptverzeichnis “C:\” speichern, sodass wir einfacher über die Kommandozeile darauf zugreifen können.

Um die Installation zu starten, muss folgendes Kommando in der Kommandozeile ausgeführt werden:

E:setup.exe /ConfigurationFile=C:\ConfiurationFile.ini

Bei E: handelt es sich um das Laufwerk, in dem sich die Binaries für die SQL Server Installation befindet.

Es startet nun eine GUI Installation, basierend auf den von uns im Configuration File konfigurierten Parametern.

Manuelle Installation mit vordefiniertem Update

Es ist auch möglich, mithilfe des Configuration Files ein Update, wie beispielsweise ein Cumulative Update, direkt mit zu installieren. Hierfür muss innerhalb des Configuration Files der Pfad angegeben werden, auf dem sich das gewünschte Update befindet.

Hierfür haben wir das Cumulative Update 4 für SQL Server 2019 heruntergeladen und einen Ordner im Hauptverzeichnis “C:\” namens Update erstellt. Wir speichern die “.exe” des Updates in dem Updates Ordner und geben anschließend innerhalb des Configuration File dessen Pfad an. Die anderen Parameter setzen wir wie folgt:

  • QUIET = False
  • QUIETSIMPLE = False
  • UIMODE = Normale
  • UpdateEnabled = True
  • UpdateSource = C:\Updates
  • INDICATEPROGRESS = False

Die Installation kann anschließend wie im obigen Beispiel mit dem Kommando gestartet werden:

E:setup.exe /ConfigurationFile=C:\ConfiurationFile.ini

Anschließend wird eine GUI-Installation gestartet, wobei das vorher konfigurierte Update erkannt und mit installiert wird:

Automatische Installation mit vordefiniertem Update ohne GUI

Um eine automatische SQL Server Installation ausschließlich über die Kommandozeile mit vordefiniertem Update durchzuführen, müssen wir unsere Parameter wie folgt setzen:

  • QUIET = True
  • QUIETSIMPLE = False
  • UIMODE = Normal ← Auskommentieren mit einem “;” vor dem Parameter
  • UpdateEnabled = True
  • UpdateSource = C:\Updates
  • INDICATEPROGRESS = True

Zum Starten der Installation muss nun folgendes Kommando ausgeführt werden:

E:setup.exe /ConfigurationFile=C:\ConfiurationFile.ini /IAcceptSQLServerLicenseTerms

Die Installation erfolgt nun vollautomatisch über die Kommandozeile:

Interesse geweckt?
Vielen Dank! Wir haben Ihre Anfrage erhalten!
Oops! Beim Senden ist etwas schiefgegangen, versuche es erneut.