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.
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
Der SQL Server 2017 wird mit folgendem Befehl installiert:
sudo yum install -y mssql-server
Nun sind die Binaries installiert und der SQL Server muss noch konfiguriert werden. Das geht mit:
sudo /opt/mssql/bin/mssql-conf setup
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
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
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
Alle alten unixODBC Pakete sollten entfernt werden:
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
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.
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
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
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.
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.
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.