Symptomy
Załóżmy, że w programie Microsoft SQL Server 2012, 2014 lub 2016 utworzono klucz podstawowy w kolumnie, który zawiera duże wartości dziesiętne lub wartości liczbowe. Następnie utworzysz indeks pełnotekstowy, używając tej kolumny jako unikatowego indeksu klucza. W tej sytuacji, jeśli istnieją wiersze, których nie można indeksować, wartość klucza pełnotekstowego będzie rejestrowana jako liczba ujemna lub znaki Unicode. Oznacza to, że nie można identyfikować wierszy, które nie mogą być indeksowane.
Rozwiązanie
Ten problem został rozwiązany w następujących zbiorczych aktualizacjach programu SQL Server:
Zbiorcza aktualizacja 2 dla programu SQL Server 2016 z dodatkiem SP1
Zbiorcza aktualizacja 4 dla programu SQL server 2016Zbiorcza aktualizacja 6 dla programu SQL Server 2012 z dodatkiem Service Pack 3
Zbiorcza aktualizacja 10 dla programu SQL server 2014 z dodatkiem SP1 Skumulowana aktualizacja 3 dla programu SQL Server 2014 z dodatkiem SP2
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2016
Najnowsza Zbiorcza aktualizacja dla programu SQL server 2014 z dodatkiem SP1/SP2Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2012
Obejście
Aby obejść ten problem, Dodaj unikatową kolumnę typu bigint lub int do tabeli i określ tekst za pomocą tej kolumny. Int i bigint poprawnie raportują ich wartości w dzienniku błędów w całym tekście po zgłoszeniu błędnego wiersza lub dokumentu. Kolumna unikatowa używana przez cały tekst nie musi być kluczem podstawowym tabeli.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.