sql-server-linux

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

Nächster Beitrag Vorheriger Beitrag