Příznaky
Zvažte následující scénář:
-
Máte počítač, na kterém běží Microsoft SQL Server 2012 nebo SQL Server 2014.
-
Vytvoříte audit a celou řadu klauzulí WHERE , které jsou větší než 3000 bajtů.
-
Pokus o spuštění auditu pomocí příkazu ALTER
V tomto scénáři se nespustí audit a zobrazí se následující chybová zpráva:
Msg 102, úroveň 15, stát 1, řádek lineNumber Nesprávná syntaxe poblíž textu "SomeStrings". Msg 25711, úroveň 16, stav 2 řádku lineNumber Nepovedlo se analyzovat predikát události.
Podívejte Při pokusu o spuštění trasování je třeba problém vyřešit chybnou syntaxi v kroku 3. Tato oprava umožňuje, aby se chyba vyvolala na správném místě v kroku 2, kde vytvoříte audit s klauzulí WHERE větší než (>) 3000 znaků. Tato oprava nemění limit výrazu predikát predikátu.
Výraz predikátu je nadále omezen na 3000 znaků. Podívejte se na predicate_expression v následujícím článku Bol: ALTER Server Audit (Transact-SQL).
Řešení
Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru.
Kumulativní aktualizace 1 pro SQL Server 2014 /en-us/help/2931693
Kumulativní aktualizace 7 pro SQL Server 2012 SP1 /en-us/help/2894115
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.