답변:
사과와 오렌지. 역할은 역할이고 스키마는 스키마입니다. 역할이 db_accessadmin
있고 스키마라는 사실이 db_accessadmin
역할이 스키마이거나 스키마가 아니라는 것을 의미하지는 않습니다. 역할은 보안 구성원 컨테이너이며 보안 주체는 역할의 구성원입니다. 스키마는 데이터베이스 스키마 바운드 개체를 포함하며 보안 주체가 소유합니다. 새 사용자를 만들면 기본 스키마를 선택하고 특정 역할에 추가하고 스키마 소유권을 부여 할 수 있습니다. 조치가 분리되어 있지만,이 대화의 디자이너들이 어떻게 든 모두 UX (부동산 장점에 관해서는 관련이 느낌 입니다 의심하지만, 완전히 다른 주제).
글쎄 .. 이것은 매우 오래된 실이지만 여전히 여기를 방문 할 사람들을 위해 2 센트입니다. 이 링크는 위의 쿼리에 가장 적합한 답변입니다.
같은 부분에서 발췌 :
SQL Server에는 기본 제공 데이터베이스 사용자 및 역할과 이름이 같은 10 개의 사전 정의 된 스키마가 제공됩니다. 이들은 주로 이전 버전과의 호환성을 위해 존재합니다. 필요하지 않은 경우 고정 데이터베이스 역할과 이름이 같은 스키마를 삭제할 수 있습니다.
db_datareader
역할 과 스키마를 가진 사용자가 특정 객체를 쓸 수 있도록 할 수 있다고 생각합니다. 에 대한 읽기 권한 만 필요dbo
하지만 일부 저장된 proc 또는 트리거를 설치 해야하는 앱에 적합 합니다. 물론 여전히 각 사용자를 역할과 스키마에 수동으로 추가해야합니다.