답변:
당신 은 할 수 있지만 나는하지 않을 것입니다. DB 이름은 항상 [MyApp.Sales]와 같이 대괄호로 묶어야합니다.
요약하자면, 당신의 정신력을 소중히 여기더라도 그렇게하지 마십시오.
기술적으로 가능하더라도 매우 나쁜 생각 이라고 생각 합니다.
몇 년 동안 나는 많은 사람들이 네 부분으로 된 명명 규칙을 이해하는 데 어려움이 있음을 알았습니다.
server_name.database_name.schema_name.object_name
그들이 다음과 같은 것을 보게되면 어떻게 될지 상상해보십시오.
MAIN-SQL.[MyApp.Sales].hr.CompetitorsProducts
또는:
[MAIN-SQL\EXPRESS].[MyApp.Sales].sch_HR.[Products From.Our-Competitors]
일을 단순하게 유지하는 것이 중요합니다.
다른 사람이이 질문에 직면 한 경우 ...
사용자가 혼란 스러울 수 있기 때문에 나쁜 아이디어 일뿐만 아니라 일부 도구가 혼란 스러울 수도 있다는 점을 명심하십시오.
심지어 마이크로 소프트 자체에도 문제가 있습니다. ODBC를 통해 Microsoft Query를 사용하여 데이터베이스를 Excel 시트에 연결하려고하면 연결하려는 데이터베이스를 선택할 수있는 구성 마법사가 나타납니다. 그러나 점이 포함 된 데이터베이스를 선택하면 서버를 찾을 수 없다는 오류가 발생합니다. 마법사는 값이 이스케이프해야하는지 확인하지 않고 식별자를 맹목적으로 연결하는 것으로 보입니다.
물론 해결 방법이 있지만 처음부터이 작업을 수행하지 않으면 문제를 해결할 수 있습니다.
데이터베이스 이름, 게시 이름, 사용자 이름에 마침표를 사용하지 마십시오. 그리고 이름 (마침표, 테이블, 뷰, 데이터베이스 등)에는 마침표를 사용하지 않는 것이 좋습니다.
업데이트 : 마이너스 대시 "-"가 simmilar 문제를 일으키는 지 확인할 수 있습니다.
다음과 같은 일이 발생합니다.
SQL Server는 시스템 저장 프로 시저와 같은 내부 사용을 위해 스크립트를 사용합니다. 여기에서 이미 언급했듯이 사용하는 명령으로 인해 이름을 대괄호로 묶어야 할 수도 있으며 저장 프로 시저 사용에 대해서는 (항상 Microsoft가 아닙니다 ) 그렇지 않습니다. .
사실 나는 더 이상 abonnement 정보를 정리할 수 없습니다 저장 프로시 저는 모든 데이터베이스를 반복하고 데이터베이스 이름을 올바르게 이스케이프하지 않기 때문에 . 이 반복은 복잡한 것이 8 개 이상의 SP에서 패치 할 수 없었습니다.
또한 MMC 또는 스크립트를 사용하여 복제 충돌을 편집 할 수 없습니다 . 이름 안에 점이있는 하나의 (One!) 데이터베이스가있는 경우 이러한 문제는 모든 출판물에서 everey db에서 발생합니다.
이것들은 내가 가진 일입니다. 복잡한 SQL 작업은 SQL 언어로 처리되며 기본이 양호하면 제대로 작동합니다.
ODBC를 통해 Microsoft Query를 사용하여 데이터베이스를 Excel 시트에 연결하려고하면 연결하려는 데이터베이스를 선택할 수있는 구성 마법사가 나타납니다. - 악 젠트
이러한 오류는 타사 소프트웨어에서 더 자주 발견 될 수 있으므로 SQL Server의 모든 이름에 점을 사용하지 마십시오.
-
밑줄을 사용할 수_
있고 이름을 대괄호로 묶을 필요가없는 경우 대시를 사용해야하는 이유 는 무엇입니까?