Da ich bei meinem aktuellen Arbeitgeber im Projekt viel Kontakt mit dem Microsoft SQL Server habe, wollte ich die Linux Version ausprobieren, um eine lokale SQL Server Datenbank für Entwicklungszwecke zu haben.
Bei der empfohlenen Ubuntu Version 16.04 gibt es keine Probleme bei der Installation. Für die 18.04 LTS Version mussten Anpassungen gemacht werden. Von Microsoft ist diese Installation zwar nicht supported, aber für eine Entwicklungsmaschine reicht mir das.
Vorraussetzungen:
- Ubuntu 16.04 Maschine / Experimental: Ubuntu 18.04 LTS Maschine
- 2 GB RAM
- 2 CPU Cores
- min. 6 GB HDD
System auf aktuellen Stand bringen
sudo apt update
sudo apt upgrade
sudo reboot
Public Keys von Microsoft runterladen
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Repository hinzufügen
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
Updaten und SQL Server installieren
sudo apt-get update
sudo apt-get install -y mssql-server
Datenbankserver konfigurieren (SA Passwort)
sudo /opt/mssql/bin/mssql-conf setup
Service Status prüfen
systemctl status mssql-server --no-pager
Ubuntu 18.04 LTS Anpassungen
Damit der SQL Server unter Ubuntu 18.04 LTS läuft sind ein paar Anpassungen notwendig.
Hier der Grund: "Ubuntu 18.04 LTS was updated and ships with version 1.1 of the openssl package. SQL Server 2017 for Linux had version a 1.0 openssl dependency. The correct dependency is the libssl1.0.0 package which CU10 corrects."
# SQL Server stoppen
sudo systemctl stop mssql-server
# Überschreiben von Service Einträgen (hier: LD_LIBRARY_PATH)
sudo systemctl edit mssql-server
[Service]
Environment="LD_LIBRARY_PATH=/opt/mssql/lib"
# Symbolischer Link zu den OpenSSL 1.0 Bibliotheken für den SQL Server erstellen
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/mssql/lib/libssl.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/mssql/lib/libcrypto.so
# SQL Server starten
sudo systemctl start mssql-server
SQL Server Command Line Tools
sudo apt-get install curl -y
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
SQL Server Databank Administration unter Linux
sqlcmd -S localhost -U sa
1> SELECT NAME FROM SYS.DATABASES;
2> GO
1> -- Delete existing database and login
2> DROP LOGIN [testuser]
3> GO
1> DROP DATABASE IF EXISTS testdb;
2> GO
1> -- Create a new server login name: testuser
2> CREATE LOGIN testuser WITH PASSWORD = 'Start1234';
3> GO
1> -- Create and use Database
2> CREATE DATABASE testdb;
3> GO
1> USE testdb;
2> GO
1> -- Create a new database user linked to the login name
2> CREATE USER testuser FOR LOGIN testuser;
3> GO
1> -- Grant database ALTER permision to the user
2> GRANT ALTER To testuser;
3> -- Grant database CONTROL permision to the user
4> GRANT CONTROL To testuser;
5> GO