JTL WAWI & Co mit SQL-Server auf Linux möglich?

Kann man JTL-WAWI mit einem SQL-Server 2017 auf Linux betreiben? Hier erfahren Sie, wie man JTL-WAWi auf einem SQL-Server auf Linux betreiben kann.

JTL WAWI & Co mit SQL-Server auf Linux möglich? pixabay.com / Neupaddy (https://pixabay.com/de/users/NeuPaddy-3372715/)

 

Einleitung: Warum?

Das haben wir uns gefragt. Das neue System SQL-Server 2017 bietet viele neue Features. Warum aber die Installation des SQL-Servers auf Linux? Sicherlich Neugierde, aber insbesondere ein wirtschaftlicher Aspekt: Für Rootserver etc. fallen bei der Miete ganz erhebliche Gebühren für ein Windows-Betriebssystem wie Windows Server an. Weiterhin sind wir hier nur bedingt überzeugt von anderen Features der Windows Serverbetriebssysteme. Insbesondere könnte man so einen starken Server für Shop und SQL-Server verwenden.

Klappt das?

Ja. Auch wenn JTL von sich aus keinen Support bietet und der Start etwas frickelig ist, haben wir unser Testsystem zum Laufen gebracht. Und die Leistung überzeugt ganz gewaltig. Wir konnten bei einigen Tests Performance Zuwächse von bis zu 30% feststellen.

Geeignet für den Produktiveinsatz?

Unsere Meinung: Nein, noch nicht, es sei denn man beherrscht die Bash-SQL-Befehle und ist nicht auf die JTL-Datenbankverwaltung angewiesen.

Was funktioniert, was nicht?

Funktioniert:

  • Normales Arbeiten, inklusive aller Funktionen etc.
  • Anlegen neuer Mandanten über die Datenbankverwaltung

Funktioniert noch nicht:

  • Backups erstellen und einspielen über die JTL-Datenbankverwaltung (geht natürlich über die SQL-Serverbefehle)
  • Direkte Installation neuer Datenbanken aus JTL heraus (kann mit Workaround super umgangen werden)

Testumgebung:

  • Linux Ubuntu 16.04
  • SQL-Server 2017
  • WAWI-Client PC: Windows 10

So funktionier´s

MS  SQL-Server 2017 für JTL installieren auf Ubuntu

Nutzungsbedingungen

Sie können diesen Code entsprechend unserer Nutzungsbedingungen nutzen. Wir untersagen ausdrücklich die direkte Nutzung in Produktivumgebungen. Wir übernehmen keine Haftung für Schäden, die Sie durch Nutzung unseres Codes verursachen, noch Gewähr auf Vollständigkeit oder Richtigkeit oder Markttauglichkeit der dargestellten Elemente. Sie nutzen diese Elemente gänzlich auf eigene Gefahr!

Das geht recht flott über einige Befehlseingaben in BASH. Zunächst müssen die Keys für dsa Repository geladen werden:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Dann registrieren wir das Repository:

curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list

Es folgen die eigentlichen Befehle für die Installation:

sudo apt-get update
sudo apt-get install -y mssql-server

Die Installation kann einige Zeit in Anspruch nehmen. Wenn der Prozess abgeschlossen ist, müssen wir die Initialisierung starten:

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

Läuft der Dienst? Mit diesem Befehl prüfen:

systemctl status mssql-server

JTL Datenbank migrieren auf Ubuntu SQL

Wie gesagt: Mit dem JTL-WAWI Installationsprogramm lässt sich keine eazybusiness Datenbank im SQL-Server auf Ubuntu anlegen. Hier liegt bis jetzt die Schwäche! Problematisch ist schon die Eingabe des Speicherortes, da dieser unter Windows ungültig ist.

Wir haben daher einfach eine eazybusiness Datenbank auf einem x-beliebigen windows-basierten SQL-Server erstellt und ein Backup angelegt. Diesen können wir nun einfach auf unseren neuen Ubuntu-MS-SQL-Server installieren.

Zunächst muss das Backup an den richtigen Ort. Wir aktivieren (falls kein Root) su:

sudo su

Verzeichnis für Backup erstellen:

mkdir -p /var/opt/mssql/backup

Backupdatei verschieben:

mv /home/user1/ihreeazybusiness.bak /var/opt/mssql/backup/

Wir verlassen den Super-User-Mode:

exit

Für die nächsten Schritte ist eine Erweiterung notwendig, die wir zuerst installieren müssen. Denn wir brauchen nun sqlcmd.

Führen Sie die Befehle nacheinander aus:

1. curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

2. curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

3. sudo apt-get update 
4. sudo apt-get install mssql-tools unixodbc-dev

5. sudo apt-get update 
6. sudo apt-get install mssql-tools 

Backup entpacken

Mit SQL-CMD in SQL-Server anmelden und Passwort angeben:

sqlcmd -S localhost -U SA

Nun kommt der eigentliche Punkt, eventuell müssen Sie hier einige Kleinigkeiten Ihrem Backup und System anpassen:

RESTORE DATABASE eazybusiness
FROM DISK = '/var/opt/mssql/backup/eazybusiness.bak'
WITH MOVE 'eazybusiness_Data' TO '/var/opt/mssql/data/eazybusiness_Data.mdf',
MOVE 'eazybusiness_Log' TO '/var/opt/mssql/data/eazybusiness_Log.ldf'
GO

Fertig! Jetzt kann über die Clients eine Verbindung hergestellt werden. Bitte nicht vergessen u.U. den ODBC-Treiber einzurichten.

Martin Noack hat uns auf folgendes hingewiesen - dies soll einen bei manchen auftretenden Fehler wohl beheben:

Hey, hatte den selben Fehler, konnte so gelöst werden: Probier mal folgende Befehle: WITH MOVE 'eazybusiness' TO '/var/opt/mssql/data/eazybusiness.mdf', MOVE 'eazybusiness_log' TO '/var/opt/mssql/data/eazybusiness_log.ldf' anstatt der im Tutorial! VG

Schlussbemerkungen

Denken Sie bitte daran, dass Sie sichere Passwörter verwenden, auch in Testumgebungen. Alle Ausführungen auf eigene Gefahr.

Letzte Änderung am Freitag, 22 Juni 2018 15:47
iotex

THE DIGITAL TECHNOLOGY EXPERTS

iotex.co
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Weitere Informationen Ok Ablehnen