Problembeschreibung
Angenommen, Sie verfügen über eine Microsoft SQL Server-Tabelle, auf der mindestens ein Index basiert. Wenn Sie die Tabelle Abfragen, kann SQL Server inkonsistente Daten Abstände für char-und binary-Spalten durchführen. Das inkonsistente Verhalten für das Zurückgeben von Leerzeichen am Ende der Datenspalten char und Binary hängt von den folgenden Bedingungen ab:
-
Die Einstellungen der ANSI_PADDING, wenn Spalten in der SQL Server-Tabelle erstellt werden.
-
Die Entscheidung, ob Tabellenüberprüfung oder Indexsuche für die Spalten durchgeführt werden soll.
Ursache
In bestimmten Szenarien kann SQL Server eine Optimierung durchführen, die es ermöglicht, viele Vorgänge zu umgehen, um eine schnellere Datenzustellung zu ermöglichen. Das Problem tritt auf, weil SQL Server nicht erkennt, dass die Optimierung für das obige Szenario nicht angewendet werden kann.
Weitere Informationen
Dieses Verhalten von SQL Server entspricht nicht dem Verhalten, das im folgenden Artikel beschrieben wird: Verwenden von char-und varchar-Daten.
Wenn ANSI_PADDING aktiviert ist, wenn eine char NULL-Spalte erstellt wird, verhält es sich wie eine char not NULL-Spalte: Werte werden mit der rechten Maustaste auf die Größe der Spalte aufgefüllt. Wenn ANSI_PADDING deaktiviert ist, wenn eine char NULL-Spalte erstellt wird, verhält es sich wie eine varchar-Spalte, wobei ANSI_PADDING auf OFF festzulegen: nachgestellte Leerzeichen werden abgeschnitten.
Fehlerbehebung
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
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Neuestes Kumulatives Update für SQL Server 2017
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Informationsquellen
Erfahren Sie mehr über die Terminologie, mit der Microsoft Softwareupdates beschreibt.