Ознаки
Розглянемо такий сценарій:
-
У вас є комп'ютер, на якому запущено Microsoft SQL Server 2012 або SQL Server 2014.
-
Ви створюєте аудит і багато інших речень, які перевищують 3000 байт.
-
Ви намагаєтеся розпочати перевірку, використовуючи оператор Alter
У цьому сценарії не запускається аудит, і з'являється таке повідомлення про помилку:
MSG 102, рівень 15, стан 1, лінія Linenumber Неправильний синтаксисSomeStrings MSG 25711, рівень 16, стан 2, лінія Linmenuber Не вдалося проаналізувати предикат події.
НОТАТКИ Зверніть увагу, що ця проблема виникає, що Синтаксична помилка на кроці 3 під час спроби почати трасування. Це виправлення дає змогу усунути помилку в потрібному місці, на кроці 2, у якому ви створюєте аудит з речення WHERE, більшим за (>) 3000 символів. Це виправлення не змінює обмеження кількості виразів у предикаті.
Вираз предиката, як і раніше, обмежується 3000 символами. Зверніться до predicate_expression в цій статті Bol: Alter Server аудиту (TRANSACT-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, перелічених у розділі "застосовується до".