KB2897633 – OPRAVA: V SQL Server 2012 nebo SQL Server 2014 nelze spustit audit pomocí příkazu ALTER

Platí pro
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Příznaky

Vezměte v úvahu následující scénář:

  1. Máte počítač se systémem Microsoft SQL Server 2012 nebo SQL Server 2014.
  2. Vytvoříte audit a mnoho klauzulí WHERE, které jsou větší než 3000 bajtů.
  3. Pokusíte se spustit audit pomocí příkazu ALTER

V tomto scénáři se audit nespustí a zobrazí se následující chybová zpráva:

Poznámka

Zpráva 102, úroveň 15, stav 1, číslo řádku
Nesprávná syntaxe poblíž SomeStrings.
Zpráva 25711, úroveň 16, stav 2, číslo řádku
Predikát události se nepovedlo analyzovat.

POZNÁMKA: Upozorňujeme, že problém spočívá v tom, že chyba syntaxe je nesprávně vyvolána v kroku 3, když se pokusíte spustit trasování. Tato oprava umožňuje vyvolat chybu na správném místě – v kroku 2, ve kterém vytvoříte audit s klauzulí WHERE delší než (>) 3000 znaků. Tato oprava nezmění omezení výrazu predikátu WHERE.

Predikátový výraz je stále omezen na 3000 znaků. Další informace najdete v predicate_expression v následujícím článku BOL: ALTER SERVER AUDIT (Transact-SQL).

Řešení

Tento problém byl poprvé opraven v následující kumulativní aktualizaci SQL Server.

Kumulativní aktualizace 1 pro SQL Server 2014 /en-us/help/2931693

Kumulativní aktualizace 7 pro SQL Server 2012 SP1 /en-us/help/2894115

Informace o kumulativních aktualizacích pro SQL Server

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 pro SQL Server:

      

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.