Simptome
Luați în considerare următorul scenariu:
-
Aveți un computer care rulează Microsoft SQL Server 2012 sau SQL Server 2014.
-
Creați un audit și multe clauze Where care sunt mai mari decât 3000 bytes.
-
Încercați să porniți auditul utilizând o instrucțiune Alter
În acest scenariu, auditul nu pornește și primiți următorul mesaj de eroare:
MSG 102, nivel 15, stat 1, linie LineNumber Sintaxă incorectă lângă 'SomeStrings'. MSG 25711, nivel 16, stat 2, linie LineNumber Nu s-a reușit analizarea unui predicat de eveniment.
Notă Vă rugăm să rețineți că problema de aici este că eroarea de sintaxă este ridicată incorect la pasul 3, când încercați să Începeți urmărirea. Această remediere permite ca eroarea să fie ridicată în locul potrivit, la pasul 2, în care Creați un audit cu clauza WHERE mai mare decât (>) 3000 de caractere. Această remediere nu modifică limita de expresie WHERE predicat.
Expresia predicat este încă limitată la 3000 de caractere. Vă rugăm să consultați predicate_expression în următorul articol din Bol: Audit Alter Server (Transact-SQL).
Rezolvare
Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
Actualizarea cumulativă 1 pentru SQL Server 2014 /en-us/help/2931693
Actualizarea cumulativă 7 pentru SQL Server 2012 SP1 /en-us/help/2894115
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.