Compartir a través de


SR0011: Evitar usar caracteres especial en nombres de objeto

Identificador de regla

SR0011

Categoría

Microsoft.Naming

Cambio problemático

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