Objawy
Załóżmy, że masz tabelę Microsoft SQL Server, na której utworzono jeden lub więcej indeksów. Podczas wykonywania zapytania dotyczącego tabeli program SQL Server może wykonywać niespójne dopełnianie danych dla kolumn CHAR i BINARNYCH. Niespójne zachowanie zwracania końcowych wartości pustych na końcu kolumn danych CHAR i BINARY zależy od następujących warunków:
- Ustawienia ANSI_PADDING podczas tworzenia kolumn w tabeli SQL Server.
- Decyzja o przeprowadzeniu skanowania tabeli lub przeszukiwania indeksu w kolumnach.
Przyczyna
W niektórych scenariuszach program SQL Server może wykonać optymalizację pozwalającą na pominięcie wielu operacji w celu szybszego dostarczania danych. Ten problem występuje, ponieważ SQL Server nie rozpoznaje, że optymalizacji nie można zastosować w powyższym scenariuszu.
Więcej informacji
To zachowanie programu SQL Server nie jest zgodne z zachowaniem udokumentowanym w następującym artykule: Używanie danych Char i Varchar.
Uwaga
Jeśli ANSI_PADDING jest WŁ., gdy jest tworzona kolumna char NULL, działa tak samo jak kolumna char NOT NULL: wartości są dopełniane prawym przyciskiem do rozmiaru kolumny. Jeśli ANSI_PADDING ma wartość OFF, gdy jest tworzona kolumna char NULL, zachowuje się jak kolumna varchar z ustawieniem ANSI_PADDING OFF: końcowe puste wartości są obcinane.
Rozwiązanie
Ten problem został rozwiązany w następujących aktualizacjach zbiorczych programu SQL Server:
Aktualizacja zbiorcza 2 dla programu SQL Server 2017
Aktualizacja zbiorcza 9 dla programu SQL Server 2016
Aktualizacja zbiorcza 6 dla programu SQL Server 2016 z dodatkiem SP1
Aktualizacja zbiorcza 8 dla programu SQL Server 2014 z dodatkiem SP2
Aktualizacja zbiorcza 7 dla programu SQL Server 2014 z dodatkiem SP1
Informacje o aktualizacjach zbiorczych programu SQL Server:
Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:
Najnowsza aktualizacja zbiorcza dla programu SQL Server 2017
Najnowsza aktualizacja zbiorcza dla programu SQL Server 2016
Najnowsza aktualizacja zbiorcza dla programu SQL Server 2014
Stan
Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji "Dotyczy"
Źródła informacji
Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.