Príznaky
Zoberme si nasledujúcu situáciu:
-
Máte počítač so spustenou službou Microsoft SQL Server 2012 alebo SQL Server 2014.
-
Môžete vytvoriť audit a mnohé klauzuly, ktoré sú väčšie ako 3000 bajtov.
-
Pokúšate sa spustiť audit pomocou príkazu Alter
V tomto scenári sa audit nespustí a zobrazí sa toto chybové hlásenie:
MSG 102, úroveň 15, štát 1, Riadková lineNumber Nesprávna syntax v blízkosti 'SomeStrings'. MSG 25711, úroveň 16, štát 2, priamka lineNumber Nepodarilo sa analyzovať predikát udalostí.
Poznámka Upozorňujeme, že problém je, že Syntaktická chyba je nesprávne vznesená v kroku 3, pri pokuse o Spustenie sledovania. Táto oprava umožňuje, aby sa chyba zvýšila na správnom mieste v kroku 2, kde môžete vytvoriť audit s klauzulou where väčším ako (>) 3000 znakov. Pri tejto oprave sa nemení obmedzenie počtu výrazov predikát.
Výraz predikát je stále obmedzený na 3000 znakov. Ďalšie informácie nájdete v téme predicate_expression v nasledujúcom článku: Alter server audit (Transact-SQL).
Riešenie
Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera.
Kumulatívna aktualizácia 1 pre SQL Server 2014 /en-us/help/2931693
Kumulatívna aktualizácia 7 pre SQL Server 2012 SP1 /en-us/help/2894115
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.