Simptomai
Apsvarstykite šį scenarijų:
-
Turite kompiuterį, kuriame veikia "Microsoft SQL Server" 2012 arba "SQL Server" 2014.
-
Kuriate auditą ir daug kur sąlygos, kurios yra didesnės nei 3000 baitų.
-
Bandote pradėti auditą naudodami sakinį Alter
Pagal šį scenarijų, auditas neprasideda ir gaunate šį klaidos pranešimą:
MSG 102, lygis 15, 1 valstybė, eilutės LineNumber Neteisinga sintaksė – "Somestrings". MSG 25711, lygis 16, 2 būsenos, eilutės LineNumber Nepavyko išanalizuoti įvykio sąlygos.
Pastaba Atkreipkite dėmesio, kad problema čia yra ta, kad sintaksės klaida yra klaidingai iškelta 3 veiksme, kai bandote paleisti pėdsakus. Ši pataisa leidžia, kad klaida būtų pakelta tinkama vieta, atlikdami 2 veiksmą, kuriame kuriate auditą su sąlyga WHERE, kur yra daugiau nei (>) 3000 simbolių. Ši pataisa nepakeičia, kur yra Presuojama išraiškos riba.
"Preate" reiškinys vis dar ribojamas iki 3000 simbolių. Žiūrėkite predicate_expression šiame Bol straipsnyje: pakeisti serverio auditą (TRANSACT-SQL).
Sprendimas
Problema pirmą kartą buvo išspręsta šį kaupiamąjį naujinimą SQL serverio.
Kaupiamasis naujinimas 1 SQL serverio 2014 /en-us/help/2931693
Kaupiamasis naujinimas 7 SQL serverio 2012 SP1 /en-us/help/2894115
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.