症狀
請考慮以下案例:
- 您的電腦正在執行 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
無法剖析事件述詞。
注意: 請注意,這裡的問題在於,當您嘗試 START 追蹤時,在步驟 3 中錯誤地引發語法錯誤。 此修正程式可讓您在步驟 2 的適當位置引發錯誤,於此步驟建立具有大於 () > 3000 個字元的 WHERE 子句稽核。 此修正程式不會變更 WHERE 述詞運算式限制。
述詞運算式仍限制在 3000 個字元以內。 請參閱以下 BOL 文章中的 predicate_expression : ALTER SERVER AUDIT (Transact-SQL) 。
解決方式
此問題已先在下列 SQL Server 累積更新中修正。
SQL Server 2014 累積更新 1 /zh-tw/help/2931693
SQL Server 2012 SP1 的累積更新 7 /zh-tw/help/2894115
關於 SQL Server 的累積更新
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。