Blog

Blog

Résoudre une erreur 1934

Le message d'erreur

J'ai eu la surprise de voir un ALTER INDEX échouer avec le message d'erreur suivant :
Échec de ALTER INDEX car les options SET suivantes comportent des paramètres incorrects : 'QUOTED_IDENTIFIER'. Assurez-vous que les options SET peuvent être utilisées avec vues indexées et/ou index sur les colonnes calculées et/ou index filtrés et/ou notifications de requêtes et/ou méthodes de type de données XML et/ou opérations d'index spatial.

Le paramètre QUOTED_IDENTIFIER

Comme expliqué dans le message, le problème vient du paramètre QUOTED_IDENTIFIER qui n'a pas la bonne valeur. A priori, il devrait être à ON et il est à OFF.

Je regarde donc dans les paramètres de ma base, le paramètre est bien setté à ON. Je regarde si mon user dans la base n'a pas d'options qui modifie ce paramètre mais non, rien. Je suis d'autant plus étonnée que la doc indique que la valeur par défaut de ce paramètre est ON. (http://msdn.microsoft.com/en-gb/library/ms174393.aspx)

La même doc m'indique quand même que ce paramètre doit être setté à ON pour les index sur les colonnes calculées et sur les vues indexées.

Dans mon cas, il s'agit d'une colonne calculée, je comprends donc que ça ne fonctionne pas, mais je ne sais toujours pas pourquoi mon paramètre est setté à OFF lorsque je lance mon script avec mon ordonnanceur alors qu'il fonctionne comme un charme quand je le lance à la main.

Sqlcmd

Dans un éclair de génie, je tape sqlcmd QUOTED_IDENTIFIER sou google et je tombe sur ce blog : http://www.anujchaudhary.com/2011/10/sqlcmd-quotedidentifier-is-off.html qui explique que par défaut le paramètre QUOTED_IDENTIFIER est à OFF via sqlcmd.

C'est assez étrange quand on sait que la valeur par défaut pour la base est ON... Plutôt que d'ajouter un paramètre -l au lancement de sqlcmd, j'ai préféré ajouter un SET QUOTED_IDENTIFER=ON au début de mon script de réindexation. ça me paraissait plus clair.

Pour aller plus loin

La doc Microsoft sur le paramètre QUOTED_IDENTIFIER : http://msdn.microsoft.com/en-gb/library/ms174393.aspx