Symptomy
Rozpatrzmy następujący scenariusz:
-
Masz komputer z uruchomionym programem Microsoft SQL Server 2012 lub SQL Server 2014.
-
Tworzysz inspekcję i wiele klauzul WHERE o rozmiarze większym niż 3000 bajtów.
-
Próba uruchomienia inspekcji przy użyciu instrukcji ALTER
W tym scenariuszu Inspekcja nie rozpoczyna się i jest wyświetlany następujący komunikat o błędzie:
Msg 102, poziom 15, stan 1, wiersz LineNumber Nieprawidłowa składnia w pobliżu elementu "SomeStrings". Msg 25711, poziom 16, stan 2, wiersz LineNumber Nie można przeanalizować predykatu zdarzenia.
UWAGA: Należy zwrócić uwagę, że w tym artykule opisano, że błąd składniowy został niepoprawnie podniesiony w kroku 3 podczas próby uruchomienia śledzenia. Ta poprawka umożliwia podniesienie błędu we właściwym miejscu, w kroku 2, w którym ma zostać utworzona inspekcja z klauzulą WHERE większą niż (>) 3000 znaków. Ta poprawka nie zmienia limitu wyrażenia predykatu WHERE.
Wyrażenie predykatu jest wciąż ograniczone do 3000 znaków. Zapoznaj się z predicate_expression w następującym artykule Bol: ALTER Server Audit (Transact-SQL).
Rozwiązanie
Ten problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server.
Zbiorcza aktualizacja 1 dla programu SQL Server 2014 /en-us/help/2931693
Zbiorcza aktualizacja 7 dla programu SQL Server 2012 z dodatkiem SP1 /en-us/help/2894115
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:
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".