Symptoms
Consider the following scenario:
-
You have a computer that is running Microsoft SQL Server 2012 or SQL Server 2014.
-
You create an audit and many WHERE clauses that are larger than 3000 bytes.
-
You try to start the audit by using an ALTER statement
In this scenario, the audit does not start, and you receive the following error message:
Msg 102, Level 15, State 1, Line LineNumber
Incorrect syntax near 'SomeStrings'. Msg 25711, Level 16, State 2, Line LineNumber Failed to parse an event predicate.NOTE: Please note that the issue here is that the syntax error is incorrectly raised in step 3, when you try to START the trace. This fix allows the error to be raised in the proper place, in step 2 where you CREATE an audit with WHERE clause greater than (>) 3000 characters. This fix does not change the WHERE predicate expression limit.
The predicate expression is still limited to 3000 characters. Please refer to predicate_expression in the following BOL article: ALTER SERVER AUDIT (Transact-SQL).
Resolution
The issue was first fixed in the following cumulative update of SQL Server.
Cumulative Update 1 for SQL Server 2014 /en-us/help/2931693
Cumulative Update 7 for SQL Server 2012 SP1 /en-us/help/2894115
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.