Neu Tutorial: WAWI mit MSSQL im Docker auf Synology NAS

MarkusT

Gut bekanntes Mitglied
3. August 2007
339
7
Fernwald
Gude zusammen,
ich klinke mich mal mit ein. Ich habe auf meiner Synology eine WIN Server VM laufen. Und der interne Zugriff funktioniert bestens.

Jetzt will ich versuchen von außer darauf zugreifen mit meiner DynDNS Domain. Leider stehe ich total auf dem Schlauch was ich bei der Datenbankverwaltung eingeben muss.
 

Karalanta

Sehr aktives Mitglied
18. April 2020
465
188
Eine VM ist nur bedingt mit einem Container zu vergleichen.
Aber auch hier ist das Zauberwort Portforwarding.
Da ich das genaue Umfeld natürlich nicht kenne und vor allem die Netzwerktopologie nicht, kann unter Umständen auch noch ein Reverse Proxy nötig sein.
Jedenfalls wird es mit einfach was anderes in der Datenbankverwaltung eingeben nicht funktionieren.

ABER:

Externe Zugriffe BITTE!!! NUR und Ausnahmslos über VPN!!!

Blos keine Ports an Router und NAS öffnen.

Durch ein VPN bewegst du dich dann Quasi in einem internen Netz und alles ist bestens.
 
  • Gefällt mir
Reaktionen: recent.digital

MarkusT

Gut bekanntes Mitglied
3. August 2007
339
7
Fernwald
So, ich versuche es auch gerade mal mit Docker auf der Syno!

Die Verbindung steht, es lässt sich aber keine DB erstelle./ importieren..

Code:
Unbehandelte Ausnahme #F5E85109D6CF51E vom Typ Microsoft.SqlServer.Management.Smo.FailedOperationException in Void CreateImpl()
Microsoft.SqlServer.Management.Smo.FailedOperationException: Create failed for Database 'eazybusiness'.  ---> Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. ---> System.Data.SqlClient.SqlException: CREATE FILE encountered operating system error 3(The system cannot find the path specified.) while attempting to open or create the physical file '/var/opt/mssql/data/master.mdf\eazybusiness.mdf'.
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
   bei Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)
   bei Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
   bei Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)
   bei Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)
   bei Microsoft.SqlServer.Management.Smo.SqlSmoObject.ExecuteNonQuery(StringCollection queries, Boolean includeDbContext)
   bei Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImplFinish(StringCollection createQuery, ScriptingPreferences sp)
   bei Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl()
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl()
   bei DBTool.GlobalFunctions.SQLServer.CreateNewDatabase(INewDatabaseViewModel viewModel)
   bei DBTool.Pages.MandantenMenu.ProgressTasks.CreateTaskCreateDb.<TaskFunction>b__1_0()
Hilfe unter: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.2100.60+((SQL11_RTM).120210-1846+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Create+Database&LinkId=20476
HelpLink.ProdName = Microsoft SQL Server
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
HelpLink.ProdVer = 11.0.2100.60 ((SQL11_RTM).120210-1846 )
HelpLink.EvtSrc = Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText
HelpLink.EvtData1 = Create
HelpLink.EvtData2 = Database

Unbehandelte Ausnahme #701D4FDA199DA415 vom Typ Microsoft.SqlServer.Management.Common.ExecutionFailureException in Int32 ExecuteNonQuery(System.String, Microsoft.SqlServer.Management.Common.ExecutionTypes): An exception occurred while executing a Transact-SQL statement or batch.

Unbehandelte Ausnahme #254BBE6CA84CF5C9 vom Typ System.Data.SqlClient.SqlException in System.Object ExecuteTSql(ExecuteTSqlAction, System.Object, System.Data.DataSet, Boolean): CREATE FILE encountered operating system error 3(The system cannot find the path specified.) while attempting to open or create the physical file '/var/opt/mssql/data/master.mdf\eazybusiness.mdf'.
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 5123
  State: 10
  Class: 16 (Anwendungsproblem)
  Server: 192.168.1.46
  Message: CREATE FILE encountered operating system error 3(The system cannot find the path specified.) while attempting to open or create the physical file '/var/opt/mssql/data/master.mdf\eazybusiness.mdf'.
  Procedure:
  LineNumber: 1

SQL-Fehler:
  Source: .Net SqlClient Data Provider
  Number: 1802
  State: 4
  Class: 16 (Anwendungsproblem)
  Server: 192.168.1.46
  Message: CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
  Procedure:
  LineNumber: 1

HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 14.00.3029
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 5123
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476

Zeitstempel: 2022-02-09T15:17:15
Locale: German (Germany)
Locale: German (Germany)
Version: 1.6.34.2
Plattform: WMS
WawiSeed: 3.6.45718.18999
Prozessname: JTL-Datenbankverwaltung
Physikalischer Speicher: 143015936 / Peak: 143020032
Basispriorität: 8
Prioritätsklasse: Normal
CPU-Zeit (User): 0:00:02,359375
CPU-Zeit (System): 0:00:00,953125
Page-Size (Sytem): 1129632 / Peak: 150761472
Page-Size: 150761472 / Peak: 150761472
Offene Handles: 1183

Zweiter Fehler:

Code:
Unbehandelte Ausnahme #24DD2A80F5E56186 vom Typ DBTool.Pages.MandantenMenu.ProgressTasks.TaskMandantenErstellenFailedException in
DBTool.Pages.MandantenMenu.ProgressTasks.TaskMandantenErstellenFailedException: Eine Ausnahme vom Typ "DBTool.Pages.MandantenMenu.ProgressTasks.TaskMandantenErstellenFailedException" wurde ausgelöst.

Zeitstempel: 2022-02-09T15:19:34
Locale: German (Germany)
Locale: German (Germany)
Version: 1.6.34.2
Plattform: WMS
WawiSeed: 3.6.45718.18999
Prozessname: JTL-Datenbankverwaltung
Physikalischer Speicher: 150327296 / Peak: 150454272
Basispriorität: 8
Prioritätsklasse: Normal
CPU-Zeit (User): 0:00:03,4375
CPU-Zeit (System): 0:00:01,984375
Page-Size (Sytem): 1151192 / Peak: 154423296
Page-Size: 153616384 / Peak: 154423296
Offene Handles: 1352
 

wgrabo

Mitglied
6. Januar 2021
1
0
Hallo,

ich habe JTL nach der Anleitung gut einrichten können und es hat auch super gespielt. Damals habe ich noch die Version 1.5.36.2. auf meinem Synology eingerichtet.
Jetzt wollte ich auf die 1.5.55.0 erweitern.

Da ich nicht so firm bin mit MSSQL und Co. kann ich leider wenig mit der folgenden Anleitung anfangen:
Erstes Problem ist aktuell die Updatefähigkeit, die ist nicht wirklich gegeben liegt daran das das Backup über die Wawi nicht so richtig erstellt werden kann, dazu bitte den BackupZwang absschalten dann kann man auch updaten.

SQL:
USE [eazybusiness]
GO

INSERT INTO [dbo].[tOptions]
           ([cKey]
           ,[cValue])
     VALUES
           ('BackupErzwingen','N')
GO

Das Backup selber kann man im Linux machen nachdem man die MSSQL Tools installiert hat hier mal mein Backup

SQL:
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P SICHERSPASSWORTvonEuchnichtMEINS -Q "BACKUP DATABASE [eazybusiness] TO DISK = N'/var/opt/mssql/backup/eazybusiness-full-$(date +%F).bak' WITH COMPRESSION, NOFORMAT, NOINIT, NAME = 'eazybusiness-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
Wie kann ich den Backupzwang abschalten? Muss ich hier in meinem Docker im Terminal etwas schreiben?
Weiterhin habe ich MSSQL Tools auch nicht gefunden. Ist das ein weiterer Docker oder doch etwas ganz anderes?

Es wäre klasse wenn es zum Update auf eine höhere Firmware auch eine so tolle Anleitung gäbe, wie zur Einrichtung von JTL auf einem Synology.
Vielleicht weiß hier einer Rat :)

Beste Grüße!
 

Anhänge

  • update-speicherplatz.JPG
    update-speicherplatz.JPG
    45,6 KB · Aufrufe: 17

agrestic

Aktives Mitglied
21. Juli 2022
7
0
Vielen Dank für die Anleitung!
Ein Hinweis: Microsoft hat seine Docker Images umgezogen. Man muss als image "mcr.microsoft.com/mssql/server:2017-latest" suchen. Außerdem hab ich noch die Umgebungsvariable MSSQL_PID=Express angegeben, damit es wie bei der Installation über JTL ebenfalls MSSQL Express ist.

Hier mein docker-compose.yml

version: "3.4"
services:
mssql:
container_name: mssql
image: mcr.microsoft.com/mssql/server:2017-latest
restart: unless-stopped
network_mode: bridge
ports:
- 1433:1433
environment:
- SA_PASSWORD=XXXXXXXXXXX
- ACCEPT_EULA=Y
- MSSQL_PID=Express
volumes:
- /volume1/docker/mssql/data:/var/opt/mssql

Außerdem muss dann beim Erstellen der Datenbank in JTL der Pfad wie folgt angegeben werden:

C:\var\opt\mssql\data

Enjoy!
 
Zuletzt bearbeitet:

AndreasNe

Aktives Mitglied
27. Dezember 2023
91
7
Super PDF Anleitung, vielen Dank für deine Mühe und dem teilen. Hat super funktioniert, ohne deine Anleitung hätte ich es aufgegeben, da auch bei mir das Anlegen der neuen Datenbank immer abgebrochen wurde.

THANK YOU!

MfG
Andreas
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.851
556
Keine Ahnung warum er mich als CLIENT: 172.17.0.1 sieht - ich habe 192.168.178.29^^
In den Standardeinstellungen benutzt Docker das Subnet 172.17. 0.0/16 für die bridge. D.h. mssql "sieht" nur Clients aus 172.17.0.0/16

Ich verwende als Passwort, dieses welches ich als Variable zu SA_Password hinterlegt habe
Die Umgebungsvariable heißt aber auch MSSQL_SA_PASSWORD.

Wie sieht denn dein Startbefehl für den Docker aus?
 

recent.digital

Offizieller Servicepartner
SPBanner
8. Juli 2015
2.297
779
Wuppertal
Du meinst wahrscheinlich:

Eine VM ist nur bedingt mit einem Container zu vergleichen.
Aber auch hier ist das Zauberwort Portforwarding.
Da ich das genaue Umfeld natürlich nicht kenne und vor allem die Netzwerktopologie nicht, kann unter Umständen auch noch ein Reverse Proxy nötig sein.
Jedenfalls wird es mit einfach was anderes in der Datenbankverwaltung eingeben nicht funktionieren.

ABER:

Externe Zugriffe BITTE!!! NUR und Ausnahmslos über VPN!!!

Blos keine Ports an Router und NAS öffnen.

Durch ein VPN bewegst du dich dann Quasi in einem internen Netz und alles ist bestens.
Dem schließen wir uns auch an!

Manchmal hilft aber nur:

"Schlauer durch Aua"
 

Dom@H1

Aktives Mitglied
9. Juli 2020
38
10
Köln
Du meinst wahrscheinlich:


Dem schließen wir uns auch an!

Manchmal hilft aber nur:

"Schlauer durch Aua"
Genau, SQL Datenbanken gehören nicht auf normale Synology NAS Systeme. Synology hat performante Rack Server, jedoch halte ich eine NVME SSD mindestens im RAID 1 für eine schlaue Wahl.
Die Wartezeit die eine Langsame SQL Datenbank erzeugt kostet, Zeit(also auch Geld) und Nerven :) Da nehme ich lieber direkt Geld (muss gar nicht viel sein) und spare mir die Nerven für andere Dinge.
 
Ähnliche Themen
Titel Forum Antworten Datum
erstes Feedback zur WAWI 2.0 (beta) JTL-Wawi 2.0 4
Neu [Erledigt] Installationsdatei JTL‑Wawi 1.5.55.8 erhalten! Installation von JTL-Wawi 0
Neu Onlineshop von Wawi entfernen Onlineshop-Anbindung 2
Neu Kategoriestruktur auf JTL-Wawi in WooCommerce Shop darstellen WooCommerce-Connector 2
Neu Zwei eBay-Aufträge (identische Adresse) zusammen versenden, aber getrennte Rechnungen behalten – JTL-Wawi 1.9.6.5 User helfen Usern - Fragen zu JTL-Wawi 1
JTL-WAWI Datenbankprofil für neue Windows Benutzer JTL-Wawi 1.11 2
Neu GPSR Herstellerinformationen JTL Wawi 1.9.6.4 anbinden User helfen Usern - Fragen zu JTL-Wawi 0
Neu DSGVO – Automatisierte Löschung von Kundendaten nach 10 Jahren (JTL-Wawi / JTL-Shop) User helfen Usern - Fragen zu JTL-Wawi 1
Neu Erstabgleich Showpare6 zu JTL-WaWi Shopware-Connector 0
Update von 1.11.6 auf 1.11.7: JTL Worker verbindet nicht mehr mit Datenbank (WaWi schon) JTL-Wawi 1.11 1
Neu eBay Artikel kommen in WaWi sporadisch als "Angebotsnummer" ohne Text JTL-Wawi - Fehler und Bugs 0
JTL-WaWi 11.5 WMS Mobile Server sehr hohe CPU Auslastung JTL-Wawi 1.11 2
Neu welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL Allgemeine Fragen zu JTL-Shop 0
Neu Infos zu Wawi 1.11 Fragen rund um LS-POS 1
Neu Verbindungsabbruch von Wawi zu POS Einrichtung / Updates von JTL-POS 0
welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL JTL-Wawi 1.11 0
Neu von JTL-Wawi-Version 1.10.16.0 ist kein Update...möglich Installation von JTL-Wawi 2
Rechnungstext in WAWI anlegen JTL-Wawi 1.10 0
Neu Wawi Filter probleme User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL-Wawi REST-API – Performance & Monitoring JTL-Ameise - Ideen, Lob und Kritik 3
Neu WaWi - JTL Shop - Kein Abgleich des Artikelnamen möglich Onlineshop-Anbindung 1
Neu wie Wawi eigene Felder (Kunden) an Shop DB übertragen? User helfen Usern - Fragen zu JTL-Wawi 3
Neu Wawi Synchronisation mit JTL Shop nicht möglich! seit 3 Stunden was kann man machen? Onlineshop-Anbindung 1
Neu Wawi API 1.11.5 – App‑Registrierung: FormatNotParsable / GUID muss 32 Ziffern Arbeitsabläufe in JTL-Wawi 2
JTL POS an WaWi anbinden Hilfe benötigt JTL-Wawi 1.11 4
Neu Export Kundendaten mit Label in WAWI 1.9.6.5 JTL Ameise - Eigene Exporte 1
Neu JTL WAWI V1.11.6.0 Stornorechnung, Stornotext wird nicht gespeichert und ist nicht abrufbar JTL-Wawi - Fehler und Bugs 0
Neu Bankverbindung in der Wawi ändern - Bankwechsel Installation von JTL-Wawi 2
Neu Artikel aus Shopware in der Wawi importieren und WMS redy machen Shopware-Connector 0
Neu WAWI 1.11.2 Änderung von E-Mailadresse in Rechnung hat keine Auswirkung JTL-Wawi - Fehler und Bugs 3
Versandbenachrichtungen werden jetzt aus Wawi versendet JTL-Wawi 1.11 8
Neu POS-Server startet nicht mehr nach WaWi-update auf Version 1.11.6.0 JTL-POS - Fehler und Bugs 1
Neu Shopify Connector + JTL Wawi Preis Shopify-Connector 4
Neu Fehler bei Artikel Filter in der Wawi JTL-Wawi - Fehler und Bugs 2
JTL Wawi App eigene Statistiken erscheinen nicht JTL-Wawi App 0
Nach Update auf 1.11.6 werden die Preisänderung nicht mehr von der Wawi an Amazon übertragen JTL-Wawi 1.11 0
Neu Datenabgleich Wawi-POS Allgemeine Fragen zu JTL-POS 0
Neu Newsletter: KI Webinare, JTL Wawi 2.0 und vieles mehr - Freue dich auf JTL Events! User helfen Usern - Fragen zu JTL-Wawi 5
Neu HGB-konforme Stichtagsbewertung inkl. Niederstwertprinzip (JTL-Wawi / MSSQL) Arbeitsabläufe in JTL-Wawi 0
Updat Wawi 1.3 auf Wawi 1.8 JTL-Wawi 1.8 1
Neu Update von Wawi 1.3 auf Wawi 1.8 JTL-Wawi 1.6 1
JTL Wawi App Registrierung kann nicht gelöscht werden JTL-Wawi App 11
Neu Feedbackrunde zur Umsetzung der Verpackungsverordnung (PPWR) in JTL-Wawi Umfragen rund um JTL 0
Meine Bestellungen sind in einer Pickliste "verschollen" - WIE bekomme ich sie in die Wawi-Pickliste??? JTL-Wawi 1.11 2
Neu JTL-WAWI und LS-POS Wechseln Starten mit JTL: Projektabwicklung & Migration 1
Neu Steuereinstellungen JTL WAWI 1.11.5 Eigene Übersichten in der JTL-Wawi 0
Neu Shopware Connector sendet keine Zahlungs und Versandinfos von WAWI zu SW6 Shopware-Connector 7
Erfahrungen mit JTL-Wawi 1.10.15.0 im Produktivbetrieb? JTL-Wawi 1.10 7
Neu Alternative zu https://wawi-db.jtl-software.de/ - Wawi-Diff zur Darstellung von Datenbank-Änderungen User helfen Usern - Fragen zu JTL-Wawi 1
Neu askJan | Neuer KI-Assistent für JTL-Wawi - schnelle, effiziente und transparente KI-Datenanalyse - ohne SQL! Dienstleistung, Jobs und Ähnliches 35

Ähnliche Themen