Symptômes
Prenons l’exemple du scénario suivant :
-
Vous avez un ordinateur exécutant Microsoft SQL Server 2012 ou SQL Server 2014.
-
Vous créez un audit et de nombreuses clauses Where de plus de 3000 octets.
-
Vous essayez de démarrer l’audit en utilisant une instruction ALTER
Dans ce scénario, l’audit ne démarre pas et le message d’erreur suivant s’affiche :
MSG 102, niveau 15, état 1, ligne LineNumber Syntaxe incorrecte près de'SomeStrings'. MSG 25711, niveau 16, état 2, ligne LineNumber Échec de l’analyse d’un prédicat d’événement.
REMARQUE : Veuillez noter que le problème est lié à l’erreur de syntaxe déclenchée à l’étape 3 lorsque vous essayez de Démarrer le suivi. Ce correctif permet d’afficher l’erreur dans l’emplacement approprié, à l’étape 2 où vous créez un audit avec la clause WHERE supérieure à (>) 3000 caractères. Ce correctif ne modifie pas la limite de l’expression de prédicat WHERE.
L’expression de prédicat est toujours limitée à 3000 caractères. Pour plus d’informations, reportez-vous à la rubrique predicate_expression dans l’article de bol suivant : ALTER Server audit (Transact-SQL).
Résolution
Le problème a été résolu dans la mise à jour cumulative suivante de SQL Server.
Mise à jour cumulative 1 pour SQL Server 2014 /en-us/help/2931693
Mise à jour cumulative 7 pour SQL Server 2012 SP1 /en-us/help/2894115
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Statut
Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».