News:
Microsoft SQL Server 2017 on Linux - Teil 1 - Installation eines SQL Server 2017 auf einem Red Hat Linux

Die Installation des SQL Servers 2017 auf Red Hat Enterprise Linux gestaltet sich denkbar einfach.

Icon Unternehmen

Installation der SQL Server Instanz


Seit dem 02.10.2017 gibt es den Microsoft SQL Server 2017 in der offiziell für den Markt zugelassenen Version (14.0.1000.169). Die Version 2017 stellt in vielerlei Hinsicht eine Revolution bei den üblichen Serverprodukten von Microsoft dar, denn der SQL Server 2017 ist tatsächlich cross-platform fähig. Dies ist bisher nur noch mit dem .NET Framework Core, bzw. Standard gelungen.

Der SQL Server 2017 ist von Microsoft auf folgenden Linux Plattformen zertifiziert:

  • Red Hat Enterprise Linux 7.3 oder 7.4 Workstation, Server und Desktop
  • SUSE Enterprise Linux Server v12 SP2
  • Ubuntu 16.04LTS


Im heutigen DBA Tipp werden wir den SQL Server 2017 auf einem Red Hat Enterprise Linux 7.4 installieren und uns mit dem Kommandozeilentool “sqlcmd” sowie dem Editor “Visual Studio Code” darauf verbinden.

Zunächst kontrollieren wir die Voraussetzungen für die Installation:

  • mind. 2GB Arbeitsspeicher
  • Dateisystem XFS oder EXT4
  • mind. 6GB Festplattenspeicher
  • mind. 2GHz Prozessorgeschwindigkeit
  • mind. 2 Prozessorkerne
  • ein x64 kompatibler Prozessortyp


Wir gehen von einem grundinstallierten RHEL 7.4 Server aus, auf dem sich per SSH verbunden werden kann. Daher wird der Teil einer Linux Server Installation übersprungen und gleich zur SQL Server Installation übergegangen.

Nachdem wir uns per SSH auf das System verbunden haben, prüfen wir mit

sudo yum update

ob es aktuell ist oder noch Updates installiert werden müssen.

Systemupdate

Anschließend wird das Microsoft Repo für den SQL Server hinzugefügt:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

MS SQL Server Repo hinzufügen

Der SQL Server 2017 wird mit folgendem Befehl installiert:

sudo yum install -y mssql-server

MSSQL Server installieren

Nun sind die Binaries installiert und der SQL Server muss noch konfiguriert werden. Das geht mit:

sudo /opt/mssql/bin/mssql-conf setup

MS SQL Server konfigurieren

Es muss die richtige Edition ausgewählt werden. Wir wählen die 180 Tage Evaluation Edition – einerseits, da die Maschine nur für diese Testinstallation genutzt wird, andererseits der volle Funktionsumfang gegeben sein soll.

Wenn nur grundlegende SQL Server Features benötigt werden, ist auch der Einsatz der kostenfreien Express Edition möglich.

Des Weiteren muss hier ein SA Kennwort vergeben werden. Es sollte mind. 8 Zeichen mit Groß- und Kleinbuchstaben, Zahlen und / oder Sonderzeichen enthalten.

Danach sollte der Dienststatus überprüft werden:

systemctl status mssql-server

MS SQL Server Service Status prüfen

Wenn man den Server aus dem Netzwerk erreichen möchte, sollte man nun noch eine entsprechende Firewall Regel mit Hilfe von firewall-cmd konfigurieren:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

Firewall konfigurieren

Nun könnte man sich bspw. schon mit einem SQL Server Management Studio auf den Server verbinden.

Verbindung zur SQL Server Instanz mit sqlcmd


Zur schnellen Administration sollten mindestens die grundlegenden Tools auf dem Server installiert werden – dies sind die mssql-tools aus dem Microsoft Red Hat Repository.  Zunächst muss das Repository jedoch konfiguriert werden:

sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo

SQL Server Tools Repo hinzufügen

Alle alten unixODBC Pakete sollten entfernt werden:

sudo yum remove unixODBC-utf16 unixODBC-utf16-devel

Standard ODBC Pakete entfernen

Im nächsten Schritt werden die relevanten Microsoft Pakete installiert:

sudo yum install -y mssql-tools unixODBC-devel

Die Lizenzen müssen entsprechend akzeptiert werden.

SQL Server Tools installieren

Nun fügen wir die neuen Tools noch zur PATH Variable hinzu, damit wir diese starten können, ohne den gesamten Dateipfad angeben zu müssen.

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

PATH Variable für SQL Tools konfigurieren

Nun können wir uns mit Hilfe von “sqlcmd” auf die Instanz verbinden und T-SQL Befehle abschicken:

sqlcmd -S localhost -U SA
Password: <SAPassworteingeben>
1> SELECT @@VERSION
2> GO

SQL Server Abfrage durchführen

Verbindung zur SQL Server Instanz mit Visual Studio Code


Von einem Client Linux oder Windows System kann die Verbindung zur SQL Server Instanz auch über den frei verfügbaren Editor Visual Studio Code von Microsoft hergestellt werden. Falls Sie den Editor noch nicht installiert haben, können Sie ihn von hier beziehen: https://code.visualstudio.com/Download

Ist Visual Studio Code installiert, muss die Erweiterung mssql hinzugefügt werden. Drücken Sie STRG+SHIFT+X, um in das Erweiterungsmenü zu kommen. Dort suchen Sie nach “mssql” und installieren die Erweiterung. Dies dauert einen Augenblick; danach müsste der Editor neu geladen werden.

Wenn das getan ist, erstellen Sie mit STRG+N eine neue Datei und wechseln mit STRG+K, M auf die Sprache “SQL”.

Dann öffnen Sie mit “F1” oder STRG+SHIFT+P das Kommandofenster und suchen nach “sql”. Dort wählen Sie “MS SQL: Connect”, um ein neues Verbindungsprofil zu erstellen.

Visual Studio Code SQL Connection hinzufügen

Hier müssen Sie die entsprechenden Verbindungsdaten wie Servername (IP Adresse oder DNS Name) und Instanzname (bei einer benannten Instanz) sowie Benutzername und Passwort eingeben.

Wenn die Verbindung erfolgreich hergestellt werden konnte, können Sie Ihre Query einfach im Editor Fenster eingeben und mit STRG+SHIFT+E ausführen.

Visual Studio Code SQL Abfrage durchführen

Fazit


Mit dem SQL Server 2017 eröffnen sich ganz neue Möglichkeiten und Microsoft baut seine Stellung als Datenbankanbieter aus. Die Installation und Konfiguration auf einem Linuxsystem ist gut gelungen und auch für Linux Einsteiger machbar.
Die einzigen Kritikpunkte sind derzeit die eingeschränkten Verwaltungstools für Linux. Auch werden noch nicht alle Komponenten des SQL Servers unter Linux unterstützt. Eine vollständige Liste, der nicht unterstützten Features und Services finden Sie hier:

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes#Unsupported

Im nächsten Teil führen wir eine Wiederherstellung einer Beispieldatenbank und die Konfiguration der grundlegenden SQL Server Einstellungen durch.

Sie benötigen Unterstützung bei der Installation, Administration und Optimierung Ihrer SQL Server Installationen? Dann sind Sie bei uns genau richtig.