한 데이터베이스의 모든 저장 프로시저에 대해서 특정 계정에 실행 권한을 줘야할 일이 있다.
한 개씩 클릭이나 명령어로 실행 권한을 줄 수도 있지만, 다음 쿼리를 이용하면 모든 저장 프로시저에 대해 특정 계정에 권한을 주는 스크립트가 생성된다. 이 스크립트를 복사하여 실행만 하면 일괄로 권한을 줄 수 있다.
DECLARE @ACCOUNT VARCHAR(100) SET @ACCOUNT = 'TEST_ACCOUNT' SELECT 'GRANT EXECUTE ON ' + name + ' TO ' + @ACCOUNT FROM sys.procedures |
조금 응용해서 WHERE 절을 이용하여 원하는 저장 프로시저에만 권한을 주는 스크립트를 생성할 수 있다.
아래의 예제는 ABC로 시작하는 저장 프로시저에 대해서만 스크립트를 생성한다.
DECLARE @ACCOUNT VARCHAR(100) SET @ACCOUNT = 'TEST_ACCOUNT' SELECT 'GRANT EXECUTE ON ' + name + ' TO ' + @ACCOUNT FROM sys.procedures WHERE name LIKE 'ABC%' |
'DBMS > SQL Server' 카테고리의 다른 글
[SQL Server] DBCC CHECKIDENT 를 사용한 IDENTITY 값 초기화 (0) | 2015.08.20 |
---|---|
[SQL Server] SCOPE_IDENTITY(), IDENT_CURRENT(), @@IDENTITY (0) | 2015.08.11 |
[SQL Server] AWE 옵션 (0) | 2015.06.10 |
[SQL Server] 성능 모니터에 SQL Server 성능 카운터가 나타나지 않을 때 (0) | 2015.03.20 |
[SQL Server] 변수를 사용한 LIKE 검색 (0) | 2015.02.24 |