Ongelman ilmenemistapa
Mieti seuraavaa tilannetta:
- Tietokoneessasi on Microsoft SQL Server 2012 tai SQL Server 2014.
- Luot valvontaohjelman ja useita WHERE-lauseita, joiden koko on yli 3 000 tavua.
- Yrität aloittaa valvonnan ALTER-lausekkeella
Tässä skenaariossa valvonta ei käynnisty ja näyttöön tulee seuraava virhesanoma:
Huomautus
Msg 102, taso 15, tila 1, rivinumero
Virheellinen syntaksi kohdan "SomeStrings" kohdalla.
Msg 25711, taso 16, tila 2, rivinumero
Tapahtumapredikaatin jäsentäminen epäonnistui.
HUOMAUTUS: Huomaa, että ongelma on siinä, että syntaksivirhe näytetään virheellisesti vaiheessa 3, kun yrität aloittaa jäljityksen. Tämän korjauksen avulla virhe voidaan näyttää oikeassa paikassa vaiheessa 2, jossa LUODAAN valvonta WHERE-lauseella, joka on yli (>) 3000 merkin pituinen. Tämä korjaus ei muuta WHERE-predikaattilausekkeen rajaa.
Predikaattilauseke on edelleen rajoitettu 3 000 merkkiin. Katso predicate_expression seuraavasta BOL-artikkelista: ALTER SERVER AUDIT (Transact-SQL).
Ratkaisu
Ongelma korjattiin ensimmäisen kerran seuraavassa SQL Server kumulatiivisessa päivityksessä.
SQL Server 2014:n kumulatiivinen päivitys 1 /en-us/help/2931693
SQL Server 2012 SP1:n kumulatiivinen päivitys 7 /en-us/help/2894115
Tietoja SQL Serverin kumulatiivisista päivityksistä
Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Tutustu SQL Serverin uusimpiin kumulatiivisiin päivityksiin:
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.