SQL 2019 Collation hat es nicht geändert
Hallo,
ich habe einen Server wo die Collation nicht stimmt:
Ich führte dies aus, und es kam auch keine Fehlermeldung:
Woran kann es liegen ?
Collation ist immer noch die alte:
Gruss
Paul
ich habe einen Server wo die Collation nicht stimmt:
Ich führte dies aus, und es kam auch keine Fehlermeldung:
Setup.exe /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLCOLLATION=Latin1_General_CI_AS /SQLSYSADMINACCOUNTS=devops
Woran kann es liegen ?
Collation ist immer noch die alte:
SQL_Latin1_General_CP1_CI_AS
Gruss
Paul
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 53659784799
Url: https://administrator.de/contentid/53659784799
Ausgedruckt am: 16.11.2024 um 21:11 Uhr
7 Kommentare
Neuester Kommentar
- Hast du auch ein Passwort für den Account angegeben?
- Eventuell geht es nur mit dem SA.
- Eventuell ist der Instanzname falsch.
- Eventuell muss die Instanz noch neu gestartet werden.
Hi Paul,
Wenn es um die Instanz geht, hast du schonmal im SSMS geschaut ob du einfach per Rechtsklick die Collation ändern kannst?
Mit deinem Befehl sollte die Instanz für neue Datenbanken die Collation nutzen, nicht für bestehende:
https://learn.microsoft.com/en-us/sql/relational-databases/databases/reb ...
--
[ /SQLCOLLATION=CollationName ]
Specifies a new server-level collation. This parameter is optional. When not specified, the current collation of the server is used.
Important: Changing the server-level collation doesn't change the collation of existing user databases. All newly created user databases will use the new collation by default.
For more information, see Set or Change the Server Collation.
--
Ich nehme an was du suchst ist eine Änderung der Collation enthaltenen Datenbank?
Falls ja, schau hier das ist das per T-SQL beschrieben: https://learn.microsoft.com/en-us/sql/t-sql/statements/alter-database-tr ...
ALTER DATABASE testDB
COLLATE French_CI_AI ;
PS: Wenn ich den T-SQL Befehl hier einfüge (auch im Code) kann ich nicht posten, denke mal da hat wer einen filter für SQL Injections eingebaut.
Grüße!
Wenn es um die Instanz geht, hast du schonmal im SSMS geschaut ob du einfach per Rechtsklick die Collation ändern kannst?
Mit deinem Befehl sollte die Instanz für neue Datenbanken die Collation nutzen, nicht für bestehende:
https://learn.microsoft.com/en-us/sql/relational-databases/databases/reb ...
--
[ /SQLCOLLATION=CollationName ]
Specifies a new server-level collation. This parameter is optional. When not specified, the current collation of the server is used.
Important: Changing the server-level collation doesn't change the collation of existing user databases. All newly created user databases will use the new collation by default.
For more information, see Set or Change the Server Collation.
--
Ich nehme an was du suchst ist eine Änderung der Collation enthaltenen Datenbank?
Falls ja, schau hier das ist das per T-SQL beschrieben: https://learn.microsoft.com/en-us/sql/t-sql/statements/alter-database-tr ...
ALTER DATABASE testDB
COLLATE French_CI_AI ;
PS: Wenn ich den T-SQL Befehl hier einfüge (auch im Code) kann ich nicht posten, denke mal da hat wer einen filter für SQL Injections eingebaut.
Grüße!
Hallo Paul,
das ist schon richtig so, daß die Datenbanken abgeräumt werden, Du erstellst ja die Systemdatenbanken neu.
In der SQL-Server-Hilfe steht beschrieben, was man alles tun muß, um die Sortierung zu ändern. Ich zitiere:
Das Ändern der Instanzsortierung umfasst die folgenden Schritte:
Weitere Informationen finden Sie unter Neuerstellen von Systemdatenbanken.
Das exportieren und dann wieder importieren per bcp finde ich recht umständlich, deswegen würde ich vermutlich die Datenbanken sichern und nach der Neuerstellung der Instanz wieder zurückspielen. Dann würde ich mir für die Datenbanken, Objekte und Spalten ein Skript anhand der Systemtabellen erstellen, das mir die Sortierung ändert.
Habe ich bis jetzt noch nicht gemacht, ich weiß also nicht, ob das mit dem Skript erfolgreich wäre, aber das würde ich versuchen.
Gruß, Mad Max
das ist schon richtig so, daß die Datenbanken abgeräumt werden, Du erstellst ja die Systemdatenbanken neu.
In der SQL-Server-Hilfe steht beschrieben, was man alles tun muß, um die Sortierung zu ändern. Ich zitiere:
Das Ändern der Instanzsortierung umfasst die folgenden Schritte:
- Sicherstellen, dass Ihnen alle Informationen oder Skripts zur Verfügung stehen, die zum erneuten Erstellen der Benutzerdatenbanken und aller darin enthaltenen Objekte erforderlich sind.
- Exportieren aller Daten mithilfe eines Tools wie z. B. dem bcp Utility. Weitere Informationen finden Sie unter Massenimport und -export von Daten (SQL Server).
- Löschen aller Benutzerdatenbanken.
- Erstellen Sie die master Datenbank neu, indem Sie die neue Sortierung in der SQLCOLLATION -Eigenschaft des setup Befehls angeben. Beispiel:
Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
/SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ]
/SQLCOLLATION=CollationName
- Erstellen aller Datenbanken und aller darin enthaltenen Objekte.
- Importieren aller Daten.
Das exportieren und dann wieder importieren per bcp finde ich recht umständlich, deswegen würde ich vermutlich die Datenbanken sichern und nach der Neuerstellung der Instanz wieder zurückspielen. Dann würde ich mir für die Datenbanken, Objekte und Spalten ein Skript anhand der Systemtabellen erstellen, das mir die Sortierung ändert.
Habe ich bis jetzt noch nicht gemacht, ich weiß also nicht, ob das mit dem Skript erfolgreich wäre, aber das würde ich versuchen.
Gruß, Mad Max