Neu Collation ändern

hd42

Mitglied
27. März 2021
5
0
Hi Leute,

ich versuche ein Datenbank Backup (über JTL erzeugt) in einen neuen Server einzuspielen. Dort ist MSSQL 2019 Express installiert.
Ich komme auch soweit, dass ich mich über JTL mit dem Server verbinde und die Backupdatei über JTL wieder einspiele.
Nur ist bei dem Server die Collation auf SQL_Latin1_General_CP1_CI_AS eingestellt und JTL erzeugt ja selber eine Datenbank mit der Collation Latin1_General_CI_AS.

Meine Frage: Gibt es irgendeinen Skript, den ich in SSMS laufen lassen kann, wodurch alle Collations geändert werden können? Hier wäre es auch egal in welche Richtung das dann geht.

Nach dem Einspielen des Backups gibt es die Funktion "Collation bereinigen" in der JTL-Datenbankadministration nicht. Zumindest wirds bei mir nicht angezeigt.

Was aber vielleicht interessanter wäre: Muss ich denn etwas ändern? Es kommt jedesmal die Meldung nach dem Login, dass etwas mit der Collation nicht stimmt. Es scheint aber irgendwie trotzdem "alles" zu funktionieren
 

Karalanta

Sehr aktives Mitglied
18. April 2020
465
188
Irgendwie hab ich gerade n Déjà-vu :)

Am besten auf dem neuen Server eine neue Instanz erstellen mit den richtigen Einstellungen und dann das Backup einspielen. Dürfte schnellste uns sauberste Lösung sein.
 

hd42

Mitglied
27. März 2021
5
0
Ich experimentiere mit Linux und da hat es mit der neuen Instanz auch nicht wirklich funktioniert :/
Da es ja offiziell nicht unterstützt wird, habe ich auch kein Ticket dazu erstellt.

Ich war aber aufjedenfall per SSMS auf dem Server drauf und habe eine neue Datenbank erstellt und diese ‘eazybusiness‘ benannt. Um sicherzugehen habe ich per SSMS bei mir lokal draufgeschaut, wie denn die von JTL erzeugte Datenbank aussieht bzw. welche Einstellungen vorgenommen wurden und diese dann einfach „gespiegelt“.

Leider hat es beim wiedereinspielen des Backups nicht geklappt. Ich hatte das Backup über JTL selber und auch über SSMS versucht, leider ohne Erfolg.


Die größte Frage wäre halt: Kann diese ständige Fehlermeldung einfach ignoriert werden?
 

Karalanta

Sehr aktives Mitglied
18. April 2020
465
188
Linux als OS oder MSSQL im Docker/Container?

MSSQL unter Linux funktioniert prinzipiell ganz gut und gefühlt sogar performanter als unter Windows :)
Leider ist ein wenig mehr zu beachten, einzustellen und die Administration ist nicht so einfach wie unter Windows, von daher kann JTL dort auch niemals den Support übernehmen und das verstehe ich.
Es funktioniert aber, ich hab's aus Spaß in einer Testumgebung schon in ner Linux VM und auch auf ner Synology DS218+ im Docker am laufen gehabt. Produktiv einsetzen würde ich es nicht bzw. würde ich wahrscheinlich erstmal ausgiebig testen wie es sich mit WaWi-Updates verhalten würde... Die habe ich in so einer Umgebung noch nicht getestet.

Welches Ziel verfolgt das "experimentieren"?
Da gibt's unter Linux einige Dinge mit denen man sich zuerst auseinandersetzen sollte.

Info's zum ändern der Sortierung:

Hier oder direkt bei Microsoft
 

SebastianB

Moderator
Mitarbeiter
6. November 2012
2.084
339
Hi,
also im Idealfall stimmen Collation des Servers, der Datenbank und der Tabellen überein. Die Collation des Servers kann man leider nicht einfach ändern - der Vorgang ist recht kompliziert (im Grunde muss man alle DBs rauswerfen, danach über den Installer die Collation der master-DB ändern).
Wir hatten mal ein Skript, was versucht, die Collation der Datenbank anzupassen - das war auch Teil der Datenbankverwaltung. Aber unter dem Strich hat das Tool mehr Probleme bereitet als es letztlich gelöst hat. Das Ändern der Collation ist nicht ohne.

LG
 

hd42

Mitglied
27. März 2021
5
0
Hi,
also im Idealfall stimmen Collation des Servers, der Datenbank und der Tabellen überein. Die Collation des Servers kann man leider nicht einfach ändern - der Vorgang ist recht kompliziert (im Grunde muss man alle DBs rauswerfen, danach über den Installer die Collation der master-DB ändern).
Wir hatten mal ein Skript, was versucht, die Collation der Datenbank anzupassen - das war auch Teil der Datenbankverwaltung. Aber unter dem Strich hat das Tool mehr Probleme bereitet als es letztlich gelöst hat. Das Ändern der Collation ist nicht ohne.

LG


Danke für die Rückmeldung! Das hatte ich mir fast schon so gedacht.
Datenbankveränderung kann irgendwie nie gut oder einfach sein :rolleyes:
 

hd42

Mitglied
27. März 2021
5
0
Linux als OS oder MSSQL im Docker/Container?

MSSQL unter Linux funktioniert prinzipiell ganz gut und gefühlt sogar performanter als unter Windows :)
Leider ist ein wenig mehr zu beachten, einzustellen und die Administration ist nicht so einfach wie unter Windows, von daher kann JTL dort auch niemals den Support übernehmen und das verstehe ich.
Es funktioniert aber, ich hab's aus Spaß in einer Testumgebung schon in ner Linux VM und auch auf ner Synology DS218+ im Docker am laufen gehabt. Produktiv einsetzen würde ich es nicht bzw. würde ich wahrscheinlich erstmal ausgiebig testen wie es sich mit WaWi-Updates verhalten würde... Die habe ich in so einer Umgebung noch nicht getestet.

Welches Ziel verfolgt das "experimentieren"?
Da gibt's unter Linux einige Dinge mit denen man sich zuerst auseinandersetzen sollte.

Info's zum ändern der Sortierung:

Hier oder direkt bei Microsoft
Kannst du mir vielleicht noch sagen, wie du es selber auf Linux zum laufen bekommen hast?

Ich habe einen Cloudserver auf IONOS gemietet und MSSQL nach der Anleitung von Microsoft installiert.
Wenn ich aber über JTL mich auf die IP-Adresse verbinde und die eazybusiness Datenbank erzeugen lassen will, kommt immer eine Fehlermeldung, dass der create Befehl nicht ausgeführt werden kann.

Die einzige Methode, die bei mir bisher geklappt hat, war eben der Umweg über JTL selber.
Also JTL neu aufgesetzt -> Datenbank über JTL gesichert -> Die bak-Datei auf den Server übertragen -> Über JTL auf die IP-Adresse verbunden und beim erstellen der eazybusiness Datenbank einfach die Backup Datei ausgewählt.

Hier kommt aber eben das ursprünglich beschriebene Problem mit der Collation dann zustande.


Ich habe natürlich die Absicht irgendwann damit Live zu gehen. Ich habe aktuell noch kein ERP im Einsatz, so klein bin ich 🤭
Deshalb möchte ich die Datenbank irgendwo in der Cloud haben, um von jedem Rechner/Notebook arbeiten zu können.

Alternativ könnte ich auch einen Windows-10 oder Windows-Server irgendwo ins Lager stellen und und und. Da ist der Aufwand aber glaube ich viel höher.
 

Karalanta

Sehr aktives Mitglied
18. April 2020
465
188
sqlcmd und der umgang sollten bekannt sein
auch ist mir die genaue Linux Umgebung bei Ionos nicht bekannt, aber die Kommandos sind die selben.

Bash:
sudo systemctl stop mssql-server

sudo /opt/mssql/bin/mssql-conf set-collation

-- Eingabe von: Latin1_General_CI_AS

sudo systemctl start mssql-server

select convert(varchar,SERVERPROPERTY('Collation')

-- Letzeres solle dann die richtige Sortierung ausgeben