SQL Server ANSI_Padding
Si je clic droit sur une table dans SQL Server Management Studio et sélectionnez 'Script table > Créer > Nouvelle Fenêtre Éditeur de Requête", le code qui s'affiche contient:
SET ANSI_PADDING SUR
.... créer la table ...
SET ANSI_PADDING OFF
Donc, je pense, si ANSI_Padding est sur on ou off touche l'ensemble de la base de données et il est activé pour créer une table, puis éteint de nouveau?
Ce qui se passe si vous créez une table avec ANSI_Padding? Comment pouvez-vous activer pour que le tableau?
fin de commentaire, mais j'ai envie de partager mes découvertes lors de la recherche de sujets connexes sqlmag.com/blog/...
OriginalL'auteur Mike Wilson | 2010-08-25
Vous devez vous connecter pour publier un commentaire.
Ce paramètre affecte uniquement la définition de nouveau colonnes. Après la colonne est créée, SQL Server stocke les valeurs en fonction du paramètre lors de la création de la colonne. Les colonnes existantes ne sont pas affectées par une modification ultérieure du paramètre.
Les deux réponses sont correctes. Le texte cité ci-dessus est légèrement trompeur en ce qu'il se réfère à l'utilisation de SET ANSI_PADDING en DDL plutôt que de DML.
Donc, si ANSI_Padding devrait être, devrais-je ... quand je sélectionne "le Script de la table > Créer > Nouvelle Fenêtre Éditeur de Requête" et le code qui s'affiche contient: SET ANSI_PADDING .... créer la table ... SET ANSI_PADDING ... supprimer 'SET ANSI_PADDING OFF'? Pourquoi SQL Server génère SET ANSI_PADDING OFF " si il doit toujours être sur? Je suis en utilisant 2008.
"supprimer" SET ANSI_PADDING OFF'?" Oui, vous devriez à mon humble avis. Nous avons eu des situations où ceux mécaniquement les scripts générés ont été exécutés, et la session se trouvait alors dans l'état "OFF", et quelque chose d'autre a été exécuté (avec l'état) qui a ensuite provoqué un conflit plus tard. Les scripts SSMS génère ont tendance à finir avec SET QUOTED_IDENTIFIER OFF qui est de même de mauvaises nouvelles.
OriginalL'auteur Mitch Wheat
non, l'option de réglage affecte uniquement le contexte de votre connexion, si 2 connexions en et un a ANSI_PADDING OFF et l'autre, ils n'affectent pas l'autre connexion. Cependant....la table créée dans une connexion pour vous avoir le comportement que le paramètre n'.
lire la suite ici http://msdn.microsoft.com/en-us/library/ms190356.aspx
Donc, si la connexion 1 est livré avec set ansi_nulls off
puis
select * from bla where col = null
travailleratoutefois, cela ne fonctionnera pas pour la connexion de 2, si elle vient avec la valeur par défaut ansi_nulls paramètre (SUR)
vous pouvez voir ce que les paramètres sont soit par l'exécution de
dbcc useroptions
ou si vous êtes en 2005 et jusqu'OriginalL'auteur SQLMenace