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