Symptome
Angenommen, Sie verfügen über eine Microsoft SQL Server Tabelle, auf der ein oder mehrere Indizes basieren. Wenn Sie abfragen, führen SQL Server möglicherweise inkonsistente Datenabstand für CHAR- und BINARY-Spalten durch. Das inkonsistente Verhalten für die Rückgabe nachgestellter Leerzeichen am Ende der CHAR- und BINARY-Datenspalten hängt von den folgenden Bedingungen ab:
- Die Einstellungen des ANSI_PADDING, wenn Spalten in der SQL Server Tabelle erstellt werden.
- Die Entscheidung, entweder eine Tabellenüberprüfung oder eine Indexsuche für die Spalten durchzuführen.
Ursache
In bestimmten Szenarien kann SQL Server eine Optimierung durchführen, die es ermöglicht, viele Vorgänge für eine schnellere Datenübermittlung zu umgehen. Das Problem tritt auf, weil SQL Server nicht erkennt, dass die Optimierung für das oben genannte Szenario nicht angewendet werden kann.
Weitere Informationen
Dieses Verhalten von SQL Server entspricht nicht dem Verhalten, das im folgenden Artikel dokumentiert ist: Verwenden von Char- und Varchar-Daten.
Hinweis
Wenn ANSI_PADDING beim Erstellen einer char NULL-Spalte auf ON festgelegt ist, verhält es sich genauso wie eine char NOT NULL-Spalte: Werte werden bis zur Größe der Spalte rechts aufgefüllt. Wenn ANSI_PADDING beim Erstellen einer char NULL-Spalte auf OFF festgelegt ist, verhält es sich wie eine varchar-Spalte mit ANSI_PADDING Set OFF: nachfolgende Leerzeichen werden abgeschnitten.
Lösung
Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:
Kumulatives Update 2 für SQL Server 2017
Kumulatives Update 9 für SQL Server 2016
Kumulatives Update 6 für SQL Server 2016 SP1
Kumulatives Update 8 für SQL Server 2014 SP2
Kumulatives Update 7 für SQL Server 2014 SP1
Informationen zu kumulativen Updates für SQL Server:
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:
Neuestes kumulative Update für SQL Server 2017
Neuestes kumulatives Update für SQL Server 2016
Neuestes kumulatives Update für SQL Server 2014
Status
Microsoft hat bestätigt, dass dies ein Problem in den Microsoft-Produkten ist, die im Abschnitt "Gilt für" aufgeführt sind.
Referenzmaterial
Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.