SR0011 : Évitez d'utiliser des caractères spéciaux dans les noms d'objets
Id de la règle |
SR0011 |
Catégorie |
Microsoft.Naming |
Modification avec rupture |
Oui |
Cause
Nom d'un objet de base de données au moins qui contient au moins un caractère spécial.
Description de la règle
Si vous nommez un objet de base de données en utilisant tout caractère dans le tableau suivant, vous rendez plus difficile le référencement de cet objet ainsi que la lecture du code qui contient le nom de cet objet :
Caractère |
Description |
Caractère d'espace blanc |
|
[ |
Crochet gauche |
] |
Crochet fermant |
' |
Guillemet simple |
" |
Guillemet double (") |
Comment corriger les violations
Pour résoudre ce problème, vous devez supprimer tous les caractères spéciaux du nom de l'objet. Si l'objet est référencé dans d'autres emplacements de votre projet de base de données (tels que dans les tests unitaires de base de données), vous devez utiliser la refactorisation de base de données pour mettre à jour les références. Pour plus d'informations, consultez Renommer toutes les références à un objet de base de données.
Quand supprimer les avertissements
Vous devrez peut-être supprimer ces avertissements si une ou plusieurs autres applications référencent l'objet de base de données et vous ne pouvez pas modifier les applications.
Exemple
Dans le premier exemple, une table contient une colonne dont le nom comporte un caractère spécial. Dans le deuxième exemple, le nom ne contient pas de caractère spécial.
CREATE TABLE [dbo].[TableWithProblemColumn]
(
[ID] INT NOT NULL IDENTITY(0, 1),
[Small'String] VARCHAR(10)
)
ON [PRIMARY]
CREATE TABLE [dbo].[FixedTable]
(
[ID] INT NOT NULL IDENTITY(0, 1),
[SmallString] VARCHAR(10)
)
ON [PRIMARY]
Règles connexes
SR0012 : Évitez d'utiliser des mots réservés pour les noms de types
SR0016 : Évitez d'utiliser sp_ comme préfixe pour les procédures stockées
Voir aussi
Concepts
Analyse du code de base de données pour en améliorer la qualité