Sintomas
Considere o seguinte cenário:
- Você tem um computador que executa o Microsoft SQL Server 2012 ou o SQL Server 2014.
- Você cria uma auditoria e várias cláusulas WHERE com mais de 3000 bytes.
- Você tenta iniciar a auditoria usando uma instrução ALTER
Nesse cenário, a auditoria não é iniciada e você recebe a seguinte mensagem de erro:
Observação
Msg 102, Nível 15, Estado 1, Linha LineNumber
Sintaxe incorreta perto de 'SomeStrings'.
Msg 25711, Nível 16, Estado 2, Linha LineNumber
Falha ao analisar um predicado de evento.
OBSERVAÇÃO: Observe que o problema aqui é que o erro de sintaxe é gerado incorretamente na etapa 3, quando você tenta INICIAR o rastreamento. Esta correção permite que o erro seja levantado no local apropriado, na etapa 2 onde você CRIA uma auditoria com cláusula WHERE maior que (>) 3000 caracteres. Essa correção não altera o limite de expressão do predicado WHERE.
A expressão do predicado ainda está limitada a 3000 caracteres. Consulte predicate_expression no seguinte artigo do BOL: ALTER SERVER AUDIT (Transact-SQL).
Resolução
O problema foi corrigido pela primeira vez na atualização cumulativa seguinte do SQL Server.
Atualização cumulativa 1 para SQL Server 2014 /pt-br/help/2931693
Atualização cumulativa 7 para SQL Server 2012 SP1 /pt-br/help/2894115
Sobre atualizações cumulativas para o SQL Server
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes para o SQL Server:
- Atualização cumulativa mais recente do SQL Server 2014
- Atualização cumulativa mais recente do SQL Server 2012 SP1
Status
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".