스키마 권한
-- execute permission on programmability objects in CMV schema
GRANT EXECUTE ON SCHEMA::CMV TO cmv_executor
-- DML permissions on tables/views in CMV schema
GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::CMV TO cmv_viewer
이를 통해 사용자는 CMV
가 아닌 다른 스키마에 개체에 대한 읽기/쓰기가 필요하지 않는 db_datareader
및 db_datawriter
역할에 사용자를 추가에 대한 필요성을 제거한다.
granting schema permissions에 대한 자세한 내용은 여기를 참조하십시오.
개체 권한
-- use output of this query to grant permissions for individual objects
SELECT
'GRANT SELECT ON ' +
QUOTENAME(SCHEMA_NAME(schema_id)) + '.' +
QUOTENAME(name) + ' TO [cmv_viewer];'
FROM
sys.objects
WHERE
SCHEMA_NAME(schema_id) = 'CMV'
AND
type_desc = 'VIEW'
UNION
SELECT
'GRANT EXECUTE ON ' +
QUOTENAME(SCHEMA_NAME(schema_id)) + '.' +
QUOTENAME(name) + ' TO [cmv_executor];'
FROM
sys.objects
WHERE
SCHEMA_NAME(schema_id) = 'CMV'
AND
type_desc IN ('SQL_STORED_PROCEDURE', 'SQL_SCALAR_FUNCTION',
'SQL_INLINE_TABLE_VALUED_FUNCTION');
나는 CLR
기능이나 절차를 포함하므로 필요에 사람들을 추가하지 않았다. type_desc
열의 유효한 값은 here입니다.
EXECUTE는 프로 시저와 함수를 의미합니까? 다른 하나는 VIEWS에 대한 사용 권한을 어떻게 부여합니까? –
보기가'GRANT SELECT'에 속하지 않습니까? –
@PrisonerZERO이 페이지에서 다양한 개체 유형에 적용되는 사용 권한 및 적용 방법에 대한 정보를 살펴보십시오. http://msdn.microsoft.com/en-us/library/ms191291.aspx – Bryan