사용자 정의 타입에 권한 부여 쿼리 작정시 주의점

MSSQL에서 사용자에게 권한 부여 쿼리는 다음과 같다.

 

GRANT <permission> ON OBJECT::SCHEMA_NAME.OBJECT_NAME TO USER_NAME

 

쿼리에도 보이지만, 낚이기 쉬운게 OBJECT::이다.

생각해보면, 당연한데 OBJECT는 객체다. 

MSSQL은 테이블이나 프로시저를 객체 취급한다.

다만, 사용자 정의 타입은 객체로 취급하지 않는다. 왜냐면 TYPE은 객체가 아니기 때문.

 

프로그래밍에서도 class를 객체라고 부르지 않는 것처럼 사용자 정의 타입을 객체로 보지 않는다.

 

사용자 정의 타입에 대해 추가적인 권한을 부여하고 싶을 경우엔 다음과 같이 작성해야한다.


GRANT <permission>ON TYPE::USER_TYPE_NAME TO USER_NAME

 

예시) GRANT EXECUTE ON TYPE::UDT_MyTableType TO test_user

더보기

댓글,

Lowpoly

게임 서버 프로그래머 지망생