Neu SQL auf Ubuntu

Miradev

Neues Mitglied
2. September 2022
2
1
Hey @mh1 ,

Danke für Deine schnelle Antwort!
Natürlich habe ich den Server installiert - und mir sind auch die Pfade bekannt.
Sind die Standardeinstellungen, d.h. wie du geschrieben hast /var/opt/mssql/data/

Mit MSSQL Data Studio gegengecheckt. Auch die Config sagt das. In SSMS kann ich auch Datenbanken erstellen; diese werden ordnungsgemäß erstellt und die Dateien in /var/opt/mssql/data/* gespeichert.

Leider sagt JTL immer noch
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/mastlog.ldf\eazybusiness_log.ldf'.

Sehe ich das richtig, dass hier entweder ein Rechteproblem vorliegt (da Testumgebung: chmod 777 -R .../mssql/ hat nicht geholfen) oder ein Windows-Linux-Pfadproblem vorliegt (da sowohl / als auch \ verwendet werden in dem Pfad, den JTL zurückgibt)?

Danke nochmal!
Gruß
Mira
 
  • Gefällt mir
Reaktionen: mh1

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.873
562
(...)
oder ein Windows-Linux-Pfadproblem vorliegt (da sowohl / als auch \ verwendet werden in dem Pfad, den JTL zurückgibt)?
Windows erkennt zwar seit Windows 7 auch den normalen Schrägstrich als Pfadtrennzeichen, aber das gilt nicht für alle GUI Programme. Deshalb solltest du die beiden auch nicht vermischen.
Dein Ubuntu wird den Backslash auch als Escape Zeichen erkennen und damit das darauffolgende Zeichen ignorieren. Kurz gesagt: Pfadangaben auf deinem Ubuntu nur mit dem normalen Schrägstrich.


(...)
chmod 777 -R .../mssql/ hat nicht geholfen)
Das Datenverzeichnis (und die Dateien darin) werden ausschließlich vom dem User beschrieben, der den SQL-Server ausführt.
Mach das also wieder rückgängig.


Was genau willst du eigentlich machen?
Willst du einen zweiten Mandanten erstellen, oder eine zweite Instanz?
 

kiu

Aktives Mitglied
5. Juli 2008
75
4
Wir nutzen den SQL-Server in Verbindung mit Ubuntu erfolgreich. Der Pfad muss nur richtig eingestellt werden (bei erstmaliger DB-Erstellung und auch bei Backups). Bei uns ist es beispielsweise C:\var\opt\mssql\data
"Idiotensicher" ist es eigentlich, wenn man auf Durchsuchen klickt und sich durch die Verzeichnisse klickt.
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.873
562
Wir nutzen den SQL-Server in Verbindung mit Ubuntu erfolgreich. Der Pfad muss nur richtig eingestellt werden (bei erstmaliger DB-Erstellung und auch bei Backups). Bei uns ist es beispielsweise C:\var\opt\mssql\data
"Idiotensicher" ist es eigentlich, wenn man auf Durchsuchen klickt und sich durch die Verzeichnisse klickt.
Also, wenn du auf einem Ubuntu System so einen Pfad konfiguriert hast, dann speicherst du ja die Datenbank in /var/opt/mssql/data/C:varoptmssqldata/
Ich denke nicht, dass es das ist, was du wolltest...?
 

kiu

Aktives Mitglied
5. Juli 2008
75
4
Anscheinend interpretiert der SQL Server den Pfad dann korrekt auf Ubuntu (da Microsoft?). Jedenfalls befindet sich die Datenbank korrekt im richtigen Pfad.
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.873
562
Anscheinend interpretiert der SQL Server den Pfad dann korrekt auf Ubuntu (da Microsoft?). Jedenfalls befindet sich die Datenbank korrekt im richtigen Pfad.
Das stimmt.

Der SQL-Server hat seit der Version 14 die ServerProperty 'PathSeparator'.
Bei der Windowsversion ist die '\', sonst '/'.
Wie oben beschrieben bastelt sich das Managementstudio den Pfad so zurecht, wie es denkt, was du gemeint hast, als du den '\' eingetippt hast. Microsoft Programme entwickeln oft eine Eigeninteligenz und schreiben Dinge einfach um. Das führt aber auch oft zur Verwirrung.

Ich würde daher unbedingt empfehlen, bei der Linuxversion den Schrägstrich '/' zu benutzen (und vor allem kein 'C:\'), sonst fahren alle Tools die das Dateisystem direkt lesen gegen die Wand. Und wenn du mal ein Problem hast, wo du auf Systemebene lösen musst, wirst du froh sein wenn du dich nicht auf die Microsoft-Magie verlassen hast 😉
 
  • Gefällt mir
Reaktionen: csaeum

Ähnliche Themen