Traxpoint 10 Geschrieben 26. April 2010 Melden Teilen Geschrieben 26. April 2010 Hallo erstmal, ich habe einen alten SQL 2000 Enterprise auf MSCS unter W2K3E, alles Deutsch. Nun ist eine Applikation hinzugekommen die fehlerhaft funktioniert. Der Support ist nun der Meinung das ich die Collation settings und den DB-User auf Englisch umstellen müsste damit die Fehler beseitigt sind. Wer das Gesamte System kennt für den macht das sogar Sinn, aber das ist hier nicht die Frage. Vielmehr geht es mir um die Umstellung, ich habe zwei Orte zum klicken gefunden um die Sortierreihenfolge zu ändern, auch eine Befehl auf der Kommandozeile "alter database xxx collate yyy" allerdings ist um so länger ich darüber nachdenke nicht bewusst was die Sprache mit den Daten in der DB zu tun haben kann. Der Aufwand scheint recht groß zu sein umstellen zu müssen, daher würde ich mir gerne vorher im klaren sein. Kann mir da jemand auf die Sprünge helfen ? Welche Auswirkungen hat denn die Sprache des Nutzers auf die Daten in einer Applikation? Danke für eure Überlegungen Trax Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 26. April 2010 Melden Teilen Geschrieben 26. April 2010 Moin, es geht nicht um die Sprache, sondern um die Sortierreihenfolge. Die bestimmt, welche Daten bei einer Suche in welcher Reihenfolge zurückgegeben werden sowie je nach Fall, welche überhaupt gefunden werden. Gruß, Nils Ist nicht so, dass Google nichts dazu sagt. Zitieren Link zu diesem Kommentar
Traxpoint 10 Geschrieben 26. April 2010 Autor Melden Teilen Geschrieben 26. April 2010 Moin, ok, gut aber wo ist der Unterschied wenn ein Engländer eine Datenbank durchsucht oder wenn ein Deutscher es tut. Sie durchsuchen doch die gleichen Tabellen mit den gleichen Werten. Auch die Tabellennamen bleiben doch gleich. Also benutzen beide das gleiche SQL-Statement? Werden Notationen übersetzt? Also mache aus 1,5 = 1.5? Grüße Trax Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 26. April 2010 Melden Teilen Geschrieben 26. April 2010 Moin, wie wäre es, wenn du das in der Onlinedokumentation nachliest? Unter anderem geht es dabei um die Unterscheidung und Zuordnung von Umlauten, Großbuchstaben usw. Es geht nicht um die Sprache, sondern um die Sortierreihenfolge. (Wie ich bereits schrieb.) Gruß, Nils Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 26. April 2010 Melden Teilen Geschrieben 26. April 2010 Wie Nils schon schrieb geht es bei der Sortierreihenfolge (auch Collation) genannt um den verfügbaren Zeichensatz der Datenbank, nicht um die Ausgabe oder Verarbeitung der darin enthaltenen Daten. Also macht es beim gleichen Statement keinen Unterschied ob ein Engländer oder ein Deutscher was abfragen, das Ergebnis ist immer das selbe. Zitieren Link zu diesem Kommentar
Traxpoint 10 Geschrieben 27. April 2010 Autor Melden Teilen Geschrieben 27. April 2010 Hallo Nils, ich habe die Onlinedocumentation zu Rate gezogen aber da ich nur wenig über die interna einer MS SQL Datenbank weiss habe ich gedacht ich könnte hier mein Verständnis erweitern und dadurch die richtigen Schlagwörter erfahren nach denen ich in der Doku suchen muss. Wenn ich Dich und phoenixcp nun richtig verstanden habe wird aufgrund des verschiedenen Zeichensatzes, unterstützt nach Spachversion, verschiedenartig sortiert. Ok, danach kann ich suchen und wohl auch finden was hier letztendlich den praktischen Unterschied macht. Danke für das Richtunggeben Trax Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 27. April 2010 Melden Teilen Geschrieben 27. April 2010 Nur um es zu vervollständigen: streiche den Passus "unterstützt nach Sprachversion". Die Sortierung richtet sich lediglich nach der Collation nicht nach der installierten Sprache der SQL Server Instanz oder des angemeldeten Benutzers. Zitieren Link zu diesem Kommentar
Traxpoint 10 Geschrieben 28. April 2010 Autor Melden Teilen Geschrieben 28. April 2010 Hallo Carsten, das würde ich nur bedingt so sehen. Das Problem konnte dank einer Microsoft Mitarbeiterin wohl gelöst werden indem der master db ein neuer Nutzer hinzugefügt wurde der nun englisch spricht. Dann wurde den betroffenen dbs dieser Nutzer ebenfalls hinzugefügt. Seitdem sind Daten die bisher nicht in der Applikation vorkamen zu sehen und auch ist es jetzt möglich über die "ein Tagesgrenze" aufgezeichnete Daten zu sichten. (Die Appliaktion zeichnet u.a. Messdaten um die Verfügbarkeit von Anwendungen sicher zu stellen und deren Reaktionszeit zu ermitteln) Der neue Nutzer existiert neben dem sa der Standardsprache deutsch eingestellt hat. Irgendwo muss es eine Folge geben die Abhängig von der Sprache auch die Sortierreihenfolge und so ist es wenigstens bei MS zu lesen auch die zur Verfügung stehenden Zeichensätze umstellt. How to transfer a database from one collation to another collation in SQL Server Berichtigt mich bitte, wenn ich den Artikel hier falsch interpretiere. Grüße Trax Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 28. April 2010 Melden Teilen Geschrieben 28. April 2010 Moin, die Spracheinstellung bei einem Benutzer steuert, in welcher Sprache er die Systemmeldungen bekommt, wenn sein Client nichts anderes festlegt. Mit der Collation hat das nichts zu tun. Auch der von dir verlinkte Artikel hat nichts mit den Spracheinstellungen bei einem Login-Account zu tun, sondern geht korrekt auf das Ändern der Collation ein. Gruß, Nils Zitieren Link zu diesem Kommentar
Traxpoint 10 Geschrieben 29. April 2010 Autor Melden Teilen Geschrieben 29. April 2010 (bearbeitet) Hallo Nils, es geht bei dem Nutzer nicht um einen Login-Account. Sondern um einen Nutzer angelegt im Enterprise Manager des Microsoft SQL-Server. Der Nutzer entspricht nun dem sa Nutzer (root, Admin der DB), einem Datenbanknutzer der nicht von AD seine Rechte bekommt, hat die gleichen Rechte spricht aber per default englisch. In dem Artikel findet sich an obiger Stelle, Zitat: Eine Sortierung gibt die Bitmuster an, die die einzelnen Zeichen darstellen. Sie gibt außerdem die Regeln zum Sortieren und Vergleichen von Daten an. Eine Sortierung hat folgende Merkmale: Sprache Unterscheidung nach Groß-/Kleinschreibung Unterscheidung nach Akzent Unterscheidung nach Kana Sie können die Systemprozedur sp_helpsort im SQL Query Analyzer ausführen, um zu ermitteln, welche Sortierung ein Server gerade verwendet. Wenn eine Sortierung das Merkmal Sprache hat, dann kann ich mir durchaus erklären das ein DB-Nutzer mit englischer Einstellung Werte aus der DB erhält während ein DB-Nutzer aus anderen Regionen keine oder verfälschte Werte erhält wie ich es vorgefunden habe bevor ein weitere DB-Nutzer unter dem jetzt die betroffenen DBs laufen, und nur die, hinzugekommen ist. Hier noch ein link von microsoft der die Sortierung besser erklärt. In dem artikel wird auch deutlich was ein Kana ist :) und wie Windows bzw. SQL-Server sortiert: http://technet.microsoft.com/de-de/library/ms143515.aspx Grüße Trax bearbeitet 29. April 2010 von Traxpoint Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 29. April 2010 Melden Teilen Geschrieben 29. April 2010 Moin, glaub es doch einfach: Die Einstellung "Sprache" beim Login-Account hat nichts mit der Collation zu tun. Die Collation ist eine Einstellung pro Server und/oder pro Datenbank. Und: Ein User, den du auf dem SQL Server anlegst, ist ein Login. Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.