db_owner 역할은 무엇을 허용합니까?


15

SQL Server 2012 데이터베이스에서 특정 테이블을 볼 수없는 로그인 문제를 해결하려고했습니다. 그렇게하면서 나는 그 db_owner역할의 멤버십이 무엇 을 허용 하는지 이해하지 못한다 . 나는 다른 역할을 이해할 수 db_datareader and db_datawriter있지만 무엇을 db_owner허용 하는지 혼란스러워 합니다.

답변:


15

데이터베이스 수준 역할에 대한 BOL에 대한 참조를 참조 하십시오 .

db_owner

db_owner 고정 데이터베이스 역할의 멤버는 데이터베이스에서 모든 구성 및 유지 보수 활동을 수행 할 수 있으며 데이터베이스를 삭제할 수도 있습니다 .

모든 권한을 보는 가장 쉬운 방법은 sys.fn_my_permissions()기능 을 사용하는 것입니다. 먼저 다음의 구성원인지 확인하십시오 db_owner.

select
    rol.name
from sys.database_principals mem
inner join sys.database_role_members drm
on drm.member_principal_id = mem.principal_id
inner join sys.database_principals rol
on drm.role_principal_id = rol.principal_id
where mem.principal_id = user_id();

이제 모든 효과적인 데이터베이스 권한을 나열하십시오.

select *
from sys.fn_my_permissions(null, 'database');

그것은 당신의 목적을 위해 충분히 세분화되어야합니다. 참고로 유효 권한을 sys.fn_my_permissions()반환 하므로 집계로 생각하십시오.


이 해당 사용자의 의미 db_owner회원과 동일한 권한을 기본적으로 가지고 db_readerdb_writer?
webworm

5
의 멤버 db_owner고정 데이터베이스 역할이있을 것이다 SELECT, INSERT, UPDATE, 및 DELETE데이터베이스에 대한 사용 권한을. 다른 많은 권한 중에서도 그렇습니다.
토마스 스트링거
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.