RuleId |
SR0011 |
カテゴリ |
Microsoft.Naming |
互換性に影響する変更点 |
あり |
原因
少なくとも 1 つのデータベース オブジェクトの名前に、少なくとも 1 つの特殊文字が含まれています。
規則の説明
データベース オブジェクトの名前に次の表のいずれかの文字を使用した場合、そのオブジェクトの参照と、そのオブジェクトの名前を含むコードの読み取りが難しくなります。
文字 |
説明 |
空白文字 |
|
[ |
左角かっこ |
] |
右角かっこ |
' |
一重引用符 |
" |
二重引用符 |
違反の修正方法
この問題を解決するには、オブジェクト名からすべての特殊文字を削除する必要があります。 オブジェクトがデータベース プロジェクト内の他の場所 (データベース単体テストなど) で参照されている場合は、データベース リファクタリングを使用して参照を更新する必要があります。 詳細については、「データベース オブジェクトへのすべての参照の名前を変更する」を参照してください。
警告を抑制する状況
1 つ以上の他のアプリケーションがデータベース オブジェクトを参照しており、アプリケーションを変更できない場合は、この警告の抑制が必要になることもあります。
使用例
最初の例では、名前に特殊文字が使用されている列がテーブルに含まれています。 2 番目の例では、名前に特殊文字は含まれていません。
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]
関連規則
SR0016: ストアド プロシージャのプレフィックスに sp_ を使用することは避けてください