Sintomas

Considere o seguinte cenário:

  1. Tem um computador que está a executar o Microsoft SQL Server 2012 ou o SQL Server 2014.

  2. Você cria uma auditoria e muitas cláusulas WHERE que são maiores que 3000 bytes.

  3. Tenta iniciar a auditoria usando uma declaração ALTER

Neste cenário, a auditoria não arranca e recebe a seguinte mensagem de erro:

Msg 102, Nível 15, Estado 1, LineNumber Sintaxe incorreta perto de 'SomeStrings'. Msg 25711, Nível 16, Estado 2, LineNumber Falhou em analisar um predicado evento.

NOTA: Por favor, note que a questão aqui é que o erro de sintaxe é incorretamente levantado no passo 3, quando tenta iniciar o rastreio. Esta correção permite que o erro seja levantado no local adequado, no passo 2 onde cria uma auditoria com cláusula WHERE superior a (>) 3000 caracteres. Esta correção não altera o limite de expressão onde predicado.

A expressão predicado ainda está limitada a 3000 caracteres. Consulte predicate_expression no seguinte artigo BOL: ALTER SERVER AUDIT (Transact-SQL).

Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.