본문 바로가기

DB

[MSSQL 2000] 권한없는 유저에게 저장프로시저의 실행 권한 주기


스키마 관련된 정보를 보여주는 뷰가 있다.
그것은 바로.. master DB에 시스템 뷰로 등록되어 있는 INFORMATION_SCHEMA의 아그들이다.

아래의 쿼리는 대충 사용자 오브젝트들의 목록을 뽑아서 특정 사용자에게 권한을 주는 문장을 생성한다.
SELECT	'GRANT EXEC ON ' + QUOTENAME(ROUTINE_SCHEMA) + '.' + QUOTENAME(ROUTINE_NAME) + ' TO 사용자계정'
FROM INFORMATION_SCHEMA.ROUTINES 
WHERE OBJECTPROPERTY(OBJECT_ID(ROUTINE_NAME),'ISMSSHIPPED') = 0 
ORDER BY 1

따로 수정할 거 없이 이 쿼리를 그대로 실행시키면 된다.
유저 로긴 id는 따옴표로 묶을 필요없다.