SR0011: Evitar usar caracteres especial en nombres de objeto
Identificador de regla |
SR0011 |
Categoría |
Microsoft.Naming |
Cambio problemático |
Sí |
Causa
El nombre de al menos un objeto de base de datos contiene al menos un carácter especial.
Descripción de la regla
Si utiliza cualquier carácter de la tabla siguiente al asignar el nombre a un objeto de base de datos, resultará más difícil no solo hacer referencia al objeto sino también leer el código que contiene el nombre de este objeto:
Carácter |
Descripción |
Carácter de espacio en blanco |
|
[ |
Corchete de apertura |
] |
Corchete de cierre |
' |
Comilla simple |
" |
Comilla doble |
Cómo corregir infracciones
Para resolver este problema, debe quitar todos los caracteres especiales del nombre de objeto. Si se hace referencia al objeto en otras ubicaciones del proyecto de base de datos (como en pruebas unitarias de base de datos), debería utilizar la refactorización de base de datos para actualizar las referencias. Para obtener más información, vea Cambiar el nombre de todas las referencias a un objeto de base de datos.
Cuándo suprimir advertencias
Es posible que deba suprimir estas advertencias si una o más aplicaciones hacen referencia al objeto de base de datos y no puede cambiar las aplicaciones.
Ejemplo
En el primer ejemplo, una tabla contiene una columna que tiene un carácter especial en su nombre. En el segundo ejemplo, el nombre no contiene ningún carácter especial.
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]
Reglas relacionadas
SR0012: Evite utilizar palabras reservadas para nombres de tipo
SR0016: Evitar el uso de sp_ como prefijo para procedimientos almacenados
Vea también
Conceptos
Analizar el código de base de datos para mejorar la calidad del código