次の方法で共有


SR0011: オブジェクト名に特殊文字を使用することは避けてください

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]

関連規則

SR0012: 型名に予約語を使用することは避けてください

SR0016: ストアド プロシージャのプレフィックスに sp_ を使用することは避けてください

参照

概念

スタティック分析によるデータベース コードの改善