Symptome
Angenommen, Sie verfügen über eine Microsoft SQL Server-Tabelle, auf der mindestens ein Index erstellt wurde. Wenn Sie die Tabelle abfragen, führt SQL Server möglicherweise inkonsistente Datenauffüllungen für CHAR- und BINARY-Spalten aus. Das inkonsistente Verhalten bei der Rückgabe nachgestellter Leerzeichen am Ende der CHAR- und BINARY-Datenspalten hängt von den folgenden Bedingungen ab:
- Die Einstellungen der ANSI_PADDING, wenn Spalten in der SQL Server Tabelle erstellt werden.
- Die Entscheidung, ob die Tabelle oder die Indexsuche für die Spalten durchgeführt werden soll.
Ursache
In bestimmten Szenarien führt SQL Server möglicherweise eine Optimierung durch, 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 obige Szenario nicht angewendet werden kann.
Weitere Informationen
Dieses Verhalten von SQL Server entspricht nicht dem im folgenden Artikel beschriebenen Verhalten: Verwenden von Char- und Varchar-Daten.
Hinweis
Wenn ANSI_PADDING beim Erstellen einer char NULL-Spalte aktiviert ist, verhält sie sich wie eine char NOT NULL-Spalte: Die Werte werden rechts auf die Größe der Spalte aufgefüllt. Wenn ANSI_PADDING beim Erstellen einer char NULL-Spalte auf OFF festgelegt ist, verhält sie sich wie eine varchar-Spalte, bei der ANSI_PADDING deaktiviert ist: Nachgestellte 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 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 kumulative Update für SQL Server 2016
Neuestes kumulative Update für SQL Server 2014
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind
Referenzmaterial
Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.