症状
请考虑以下情况:
-
您的计算机运行的是 Microsoft SQL Server 2012 或 SQL Server 2014。
-
创建一个大于3000字节的审核和多个 WHERE子句。
-
尝试使用 ALTER 语句开始审核
在这种情况下,审核不会启动,并且你会收到以下错误消息:
消息102,级别15,状态1,行 LineNumber "SomeStrings" 附近的语法不正确。 消息25711、级别16、状态2、行 LineNumber 无法分析事件谓词。
提示 请注意,此处的问题是当你尝试 启动跟踪时,步骤3中错误地引发了语法错误。 此修补程序允许在步骤2中使用大于(>)3000字符的 WHERE 子句 创建审核的位置引发错误。 此修补程序不会更改 WHERE 谓词表达式限制。
谓词表达式仍然限制为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 产品问题。