Симптоми
Обмислете следния сценарий:
-
Имате компютър, на който се изпълнява Microsoft SQL Server 2012 или SQL Server 2014.
-
Създавате одит и много Where клаузи, които са по-големи от 3000 байта.
-
Опитвате се да стартирате проверката с помощта на командата ' ' промени ' '
В този случай проверката не се стартира и получавате следното съобщение за грешка:
MSG 102, ниво 15, щат 1, линия LineNumber Грешен синтаксис близо до "SomeStrings". MSG 25711, ниво 16, щат 2, линия LineNumber Неуспешно анализиране на предикат на събитие.
Забележка Моля, имайте предвид, че проблемът тук е, че Синтаксисът на грешката е поставен неправилно в стъпка 3, когато се опитате да стартирате проследяването. Тази корекция позволява грешката да се увеличи на правилното място, в стъпка 2, където можете да създадете проверка, където клаузата е по-голяма от (>) 3000 знака. Тази корекция не променя границата на първоначални изрази.
Първоначално изражението все още е ограничено до 3000 знака. Вижте predicate_expression в следващата статия в Bol: промяна на сървърния одит (преговаряне – SQL).
Решение
Проблемът е коригиран първо в следващата сборна актуализация на SQL Server.
Сборна актуализация 1 за SQL Server 2014 /en-us/help/2931693
Кумулативна актуализация 7 за SQL Server 2012 SP1 /en-us/help/2894115
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".