SR0011: Evitare di utilizzare caratteri speciali nei nomi degli oggetti

RuleId

SR0011

Category

Microsoft.Naming

Breaking Change

Breaking

Causa

Il nome di almeno un oggetto di database contiene almeno un carattere speciale.

Descrizione della regola

Se si assegna un nome a un oggetto di database che contiene qualsiasi carattere contenuto nella tabella seguente, lo si rende più complesso non solo ai fini del riferimento all'oggetto, ma anche ai fini della lettura del codice che contiene il nome di quell'oggetto:

Carattere

Oggetto di descrizione

Spazio vuoto

[

Parentesi quadra sinistra

]

Parentesi quadra destra

'

Virgoletta singola

"

Virgoletta doppia

Come correggere le violazioni

Per risolvere questo problema, è necessario rimuovere tutti i caratteri speciali dal nome dell'oggetto. Se all'oggetto viene fatto riferimento in altre posizioni del progetto di database, ad esempio negli unit test del database, è necessario utilizzare il refactoring del database per aggiornare i riferimenti. Per ulteriori informazioni, vedere Ridenominazione di tutti i riferimenti a un oggetto di database.

Esclusione di avvisi

Potrebbe essere necessario evitare di visualizzare questi avvisi se una o più applicazioni fanno riferimento all'oggetto di database e non è possibile modificare le applicazioni.

Esempio

Nel primo esempio una tabella contiene una colonna il cui nome contiene un carattere speciale. Nel secondo esempio il nome non contiene un carattere speciale.

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]

Regole correlate

SR0012: Evitare di utilizzare parole riservate per i nomi di tipo

SR0016: evitare di utilizzare sp_ come prefisso per le stored procedure

Vedere anche

Concetti

Analisi del codice di database per migliorare la qualità del codice