트리거 생성/드롭을 허용하는 최소 SQL 서버 역할은 무엇입니까?
-
10-07-2019 - |
문제
전제 조건 :
delphi32에는 작성된 클라이언트/서버 응용 프로그램이 있습니다. RDBMS는 SQL Server 2005입니다. 특정 응용 프로그램 기능은 대상 데이터베이스에서 트리거 생성/삭제 (Ad Hoc DDL 문을 사용하는 응용 프로그램)를 필요로합니다.
문제:
사용자가 역할에 속하는 경우 Sysadmin은 트리거를 작성/드롭하는 데 아무런 문제가 없습니다. 그러나 이것은 응용 프로그램 사용자에게는 너무 허용되는 역할로 간주됩니다.
질문:
- 트리거 생성/드롭에 사용될 수있는 표준 최소 (예 : 가장 제한적인) SQL 서버 역할은 무엇입니까?
- 표준 역할을 사용하는 것이 아니라이 문제를 해결하기위한보다 세밀한 접근 방식을 구성 할 수 있습니까?
해결책
보조금의 범위에 따라 다양한 옵션이 있습니다 (데이터베이스의 트리거, 스키마 또는 특정 테이블의 트리거).
일반적으로 SQL 작업에 필요한 권한은 SQL 참조에 문서화되어 있습니다. 예를 들어 CREATE TRIGGER
SQL 2008에서 여기 ( "권한"으로 아래로 스크롤),이 경우 :
DML 트리거는 테이블에서 ALTER PERSIRMING이 필요합니다.
원하는 권한 만 부여한 다음 해당 역할에 사용자/그룹을 추가 할 수 있으므로 최소한의 역할은 구성원을 허용하려는 특정 액세스만으로 만드는 역할입니다.
제휴하지 않습니다 StackOverflow