Symptom
Tänk dig följande situation:
-
Du har en dator med Microsoft SQL Server 2012 eller SQL Server 2014.
-
Du skapar en gransknings-och många WHERE -satser som är större än 3000 byte.
-
Du försöker starta granskningen med ett Alter -uttryck
I det här scenariot startar inte granskningen och du får följande fel meddelande:
Meddelande 102, nivå 15, State 1, Line LineNumber Felaktig syntax nära 'SomeStrings'. Meddelande 25711, nivå 16, State 2, Line LineNumber Det gick inte att parsa ett event-predikat.
OBS! Observera att det problem som uppstår är att syntaxfel uppstår felaktigt i steg 3 när du försöker Starta spårningen. Denna korrigering gör att felet höjs på rätt plats i steg 2 där du skapar en granskning med WHERE-satsen större än (>) 3000 tecken. Den här korrigeringen ändrar inte WHERE-gräns för predikat.
Predikatet predikat är fortfarande begränsat till 3000 tecken. Se predicate_expression i följande Bol artikel: Alter Server audit (Transact-SQL).
Lösning
Problemet är först åtgärdat i den kumulativa uppdateringen av SQL Server.
Kumulativ uppdatering 1 för SQL Server 2014 /en-us/help/2931693
Kumulativ uppdatering 7 för SQL Server 2012 SP1 /en-us/help/2894115
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".