徵狀
請試想下列案例:
-
您的電腦正在執行 Microsoft SQL Server 2012 或 SQL Server 2014。
-
您建立一個大於3000位元組的審核及許多 WHERE子句。
-
您嘗試使用 ALTER 語句來開始審計
在這種情況下,審計不會啟動,而且您會收到下列錯誤訊息:
Msg 102、Level 15、State 1、Line LineNumber "SomeStrings" 附近的語法不正確。 Msg 25711、Level 16、State 2、Line LineNumber 無法分析事件謂語。
注 請注意,這裡的問題是,當您嘗試 啟動追蹤時,會在步驟3中錯誤地引發語法錯誤。 此修正程式可讓您在適當的位置(在步驟2中,您使用大於(>)3000字元 建立審核的位置)引發錯誤。 這個修正程式不會變更謂詞運算式限制的位置。
謂詞運算式仍限制為3000個字元。 請參閱下列文章中的 predicate_expression : 變更伺服器審核(transact-sql)。
解決方案
此問題最初是在 SQL Server 的後續累積更新中修正。
SQL Server 2014 的累積更新1 /en-us/help/2931693
SQL Server 2012 SP1 的累積更新7 /en-us/help/2894115
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。