SR0011:避免在对象名称中使用特殊字符
规则 ID |
SR0011 |
类别 |
Microsoft.Naming |
是否重大更改 |
是 |
原因
至少有一个数据库对象的名称中包含至少一个特殊字符。
规则说明
如果使用下表中的任意字符命名数据库对象,则不仅更难以引用该对象,而且更难以读取包含该对象名称的代码:
字符 |
说明 |
空白字符 |
|
[ |
左方括号 |
] |
右方括号 |
' |
单引号 |
双引号 |
如何解决冲突
若要解决此问题,必须从对象名称中移除所有特殊字符。 如果在数据库项目中的其他位置(如数据库单元测试中)引用对象,则应使用数据库重构来更新引用。 有关更多信息,请参见 重命名对数据库对象的所有引用。
何时禁止显示警告
如果一个或多个其他应用程序引用数据库对象,并且您无法更改这些应用程序,则可能必须禁止显示这些警告。
示例
在第一个示例中,表中有一列的名称中含有特殊字符。 在第二个示例中,名称不包含特殊字符。
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]