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é