Instructions SET par défaut lors de la création / manipulation avec des index?

La documentation de MSDN sur les instructions SET contient le paragraphe suivant:

Lorsque vous créez et manipulez des index sur des colonnes calculées ou des vues indexées, les options SET ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING et ANSI_WARNINGS doivent être définies sur ON. L'option NUMERIC_ROUNDABORT doit être désactivée.

Définir ces options pourrait être fait comme ceci:

 SET ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS ON SET NUMERIC_ROUNDABORT OFF 

Ma question est – est-il possible de définir ces valeurs par défaut, afin que nous n'ayons pas à les définir manuellement chaque fois que nous ouvrons une connection? Soit à l'échelle du système, soit pour un user / login spécifique? Et y aurait-il des inconvénients à le faire?

Ils sont déjà définis par SSMS. Et par les clients normalement. Je n'ai pas eu à les définir explicitement depuis très longtime .

Toutefois, si vous le souhaitez, vous pouvez utiliser sp_configure pour spécifier " options user ".

BTW: Je n'ai pas et ne vais pas définir cela. Je vous suggère de ne pas toucher et changer n'importe quel paramètre, sauf si vous avez prouvé que vous devez le faire …

Les users finaux n'ont pas besoin de ces options non plus. Ils sont uniquement nécessaires pour les instructions ALTER INDEX et CREATE INDEX (dans ce context) qui ne sont pas des commands user au jour le jour.

Essayez sp_configure

Je suppose que le seul inconvénient de cette approche est que si quelqu'un change plus tard et que vos scripts dépendent d'un certain set, vos scripts vont se casser.