Frage

In SQL Server (2000 oder 2005) ist es möglich, die Datenbank oder Server-Sortierung, so dass Bezeichnernamen einzustellen (Tabellen, Spalten, etc.) müssen in dem richtigen Fall sein? Wenn ja, ist das gilt für alle Groß- und Sortierungen oder ist es eine separate Einstellung? (Ich habe immer gedacht, der Fall Empfindlichkeit auf Daten anwenden, nicht auf Namen von Objekten).

Vermutlich würde dies eine Anwendung, wenn seine gespeicherte Prozeduren und Abfragen brechen wurden mit konsistentem Fall nicht geschrieben? Gibt es eine Möglichkeit, dieses zu beschäftigen, ohne alle Anfragen den richtigen Fall, wie die Einstellung der Sortierung einer Datenbank-Verbindung verwenden, um sicherzustellen, mit?

Ich betrachte dies aus der Sicht einer bestehenden Anwendung zu haben, die wahrscheinlich inkonsistent SQL-Code in das verrohrte hat, und ich bin zu wollen, um es gegen Datenbanken laufen mit unterschiedlichen Sortierungen. Welche Einstellungen brauche ich oder welche Gruppe von Datenbank / Server-Sortierungen konnte ich die Anwendung nicht mit benutzen?

War es hilfreich?

Lösung

Die Sortierung ist das, was bestimmt, ob Ihre Anfragen Groß- und Kleinschreibung sind. So ist die einzige Möglichkeit, um sicherzustellen, dass Ihr Schema gegen mehrere Umgebungen arbeiten ist Ihre Anfragen Groß- und Kleinschreibung zu haben. Wenn Ihre Fragen nicht konsistent sind, dann Sortierungs Fall sein muss unempfindlich sonst wird es nicht funktionieren.

http://msdn.microsoft.com/ en-us / library / aa174903 (SQL.80) aspx

Eine Sache zu beachten ist, dass, sobald Sie Ihren SQL Server-Umgebung mit einer bestimmten Sortierungs eingerichtet haben, können Sie ihn nicht ändern, ohne eine neue SQL Server-Instanz zu erstellen. So Groß- und Kleinschreibung ist in der Regel der Weg zu gehen. Und dann danach streben, in Ihren Fragen haben Konsistenz.

Sobald eine Sortierungs gesetzt ist es für beide Daten und Metadaten gilt, glaube ich.

Andere Tipps

Sortierungs wird in früheren Versionen von SQL Server festgelegt, aber im Jahr 2005 und darüber hinaus, können Sie es durch das Objekt ändern, wie sie erstellt werden.

Die Datenbank Standardsortierung bestimmt, ob Objekte innerhalb der Datenbank in einem Groß- und Kleinschreibung in Abfragen behandelt werden - dies gilt für alle Objektname: Tabellen, Spalten, etc.

.

Wenn Sie den Anwendungscode aus Groß- und Kleinschreibung Sortierungs Datenbank kommt, kann es nicht auf Groß- und Kleinschreibung Sortierungs Datenbank ausgeführt werden, wenn ein Objekt misreferenced wird (Sie würden eine Nachricht erhalten, wenn Sie versuchen, die Anweisung auszuführen oder die gespeicherte Prozedur erstellen oder in einer speicher proc Architektur, würden Sie alle diese ziemlich schnell fangen, wenn Sie eine erhebliche Menge an dynamischem SQL hatte).

Denken Sie daran, dass selbst wenn der Code ausgeführt wird, können einzelne Spalten mit Sortierungen eingestellt werden, die aus der Datenbank unterscheiden, so ist es immer möglich, dass mit einer unterschiedlichen Sortierung, Ihr Code unerwartet verhalten wird (zum Beispiel GROUP BY verhält sich anders).

Sie können einstellen, Sortierung für jedes Objekt und stellen auch eine Standard für die Datenbank und Server.

Wie damit umgehen? Sie müssen Standards hier erzwingen. Sie können sich leicht verheddern mit verschiedenen Menschen mit unterschiedlichen Fall schreiben.

Die Sortierung gilt auch für Daten so "bob"! = "Bob"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top