SQL Server 스키마 의 기능 을 이해 하지만 모범 사례는 무엇입니까? 물론 다른 보안 계층을 제공하고 데이터베이스 내에서 데이터베이스 개체의 논리적 그룹을 제공합니다. 그러나 일반적인 것은 무엇입니까? 나는 종종 내 경험상 많은 맞춤형 스키마를 활용하지 못합니다. 이것이 전형적인가요? 사용자 지정 스키마를 사용해야하는 빈도가 적은 시나리오입니까?
답변
우리는 그들을 사용합니다
- 클라이언트마다 권한을 분리합니다 (예 : 데스크톱, WebGUI 등 스키마가 있음)
- 논리 그룹화 (예 : 테이블의 데이터 및 스테이징 스키마)
Marian이 언급 한 백서를 지나서 유용하고 실용적인 관찰 :
- 스키마에 대한 GRANT : 개체 당 더 이상 권한이 없습니다. 따라서 WebGUI 스키마의 새 프로세스는 자동으로 스키마의 권한을 갖습니다.
- SSMS 개체 탐색기의 멋진 그룹화
- OBJECT_SCHEMA_NAME
- 객체 이름을 규정해야합니다 (모범 사례).
답변
이 MSDN 기사 : SQL Server 모범 사례 – 데이터베이스 개체 스키마 구현 에서 답을 찾을 수 있다고 생각합니다 .
인용 : “이 백서에서는 사용자 데이터베이스의 보안 관리 기능을 향상시킬 수있는 기회에 대해 설명하고 스키마를 사용하여 개발 및 프로덕션 데이터베이스에서 데이터베이스 개체를 관리하는 방법에 대한 모범 사례를 간략하게 설명합니다. 구체적으로 다음 세 가지 실제 시나리오에 대해 설명합니다.
- 데이터베이스 소유자에 대한 지식없이 사용자가 데이터베이스 오브젝트를 변경하지 못하도록 보호
- 특히 ISV (Independent Software Vendor) 데이터베이스와 같은 데이터베이스 기반 개체가 임시 또는 잘못된 사용자 액세스를 방지하여 응용 프로그램 성능 저하
- 물리적 데이터베이스 관리 오버 헤드를 줄이기 위해 하나의 물리적 데이터베이스 내에 관련 개체 그룹 (논리적 엔티티)을 가져옵니다. “
특히 세 번째 부분 인 논리적 의미를 기반으로 개체 그룹을 연결합니다. 동일한 데이터베이스 내에서 다른 프로젝트에 속하는 다른 스키마.