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]
관련 규칙
SR0012: 형식 이름에는 예약어를 사용하지 마십시오.
SR0016: 저장 프로시저에는 sp_를 접두사로 사용하지 마십시오.