sp_table_privileges_ex(Transact-SQL)
지정한 연결된 서버에서 지정한 테이블에 대한 권한 정보를 반환합니다.
구문
sp_table_privileges_ex [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @table_catalog = ] 'table_catalog' ]
[ , [@fUsePattern =] 'fUsePattern']
인수
[ @table_server = ] 'table_server'
정보가 반환될 연결된 서버의 이름입니다. table_server는 sysname이며 기본값은 없습니다.[ @table_name = ] 'table_name']
테이블 권한 정보를 제공할 테이블의 이름입니다. table_name은 sysname이며 기본값은 NULL입니다.[ @table_schema = ] 'table_schema'
테이블 스키마입니다. 일부 DBMS 환경에서는 테이블 소유자입니다. table_schema는 sysname이며 기본값은 NULL입니다.[ @table_catalog = ] 'table_catalog'
지정된 table_name이 있는 데이터베이스의 이름입니다. table_catalog는 sysname이며 기본값은 NULL입니다.[ @fUsePattern =] 'fUsePattern'
'_', '%', '[' 및 ']' 문자를 와일드카드 문자로 해석할지 여부를 결정합니다. 유효한 값은 0(패턴 일치 해제)과 1(패턴 일치 설정)입니다. fUsePattern은 bit이며 기본값은 1입니다.
반환 코드 값
없음
결과 집합
열 이름 |
데이터 형식 |
설명 |
---|---|---|
TABLE_CAT |
sysname |
테이블 한정자 이름입니다. 다양한 DBMS 제품에서 테이블에 대해 세 부분으로 구성된 이름(qualifier.owner.name)을 지원합니다. SQL Server에서 이 열은 데이터베이스 이름을 나타냅니다. 일부 제품에서는 테이블 데이터베이스 환경의 서버 이름을 나타냅니다. 이 필드는 NULL이 될 수 있습니다. |
TABLE_SCHEM |
sysname |
테이블 소유자 이름입니다. SQL Server에서 이 열은 테이블을 만든 데이터베이스 사용자의 이름을 나타냅니다. 이 필드는 항상 값을 반환합니다. |
TABLE_NAME |
sysname |
테이블 이름입니다. 이 필드는 항상 값을 반환합니다. |
GRANTOR |
sysname |
나열된 GRANTEE에 대해 이 TABLE_NAME에 대한 권한을 부여한 데이터베이스 사용자 이름입니다. SQL Server에서 이 열은 항상 TABLE_OWNER와 같습니다. 이 필드는 항상 값을 반환합니다. 또한 GRANTOR 열은 데이터베이스 소유자(TABLE_OWNER) 또는 데이터베이스 소유자가 GRANT 문의 WITH GRANT OPTION 절을 사용하여 사용 권한을 부여한 사용자가 될 수 있습니다. |
GRANTEE |
sysname |
나열된 GRANTOR에 의해 이 TABLE_NAME에 대한 사용 권한을 부여 받은 데이터베이스 사용자 이름입니다. 이 필드는 항상 값을 반환합니다. |
PRIVILEGE |
varchar(32) |
사용할 수 있는 테이블 사용 권한 중의 하나입니다. 테이블 사용 권한은 다음 값 중 하나 또는 구현이 정의될 때 데이터 원본에 의해 지원되는 그 밖의 값이 될 수 있습니다. SELECT = GRANTEE는 하나 이상의 열에 대한 데이터를 검색할 수 있습니다. INSERT = GRANTEE는 하나 이상의 열에 대한 새 행에 데이터를 제공할 수 있습니다. UPDATE = GRANTEE는 하나 이상의 열에 대한 기존 데이터를 수정할 수 있습니다. DELETE = GRANTEE는 테이블에서 행을 제거할 수 있습니다. REFERENCES = GRANTEE는 기본 키/외래 키 관계에 있는 외래 테이블의 열을 참조할 수 있습니다. SQL Server에서 기본 키/외래 키 관계는 테이블 제약 조건을 사용하여 정의됩니다. 특정 테이블 권한으로 GRANTEE에 지정된 동작의 범위는 데이터 원본에 따라 결정됩니다. 예를 들어 UPDATE 권한은 GRANTEE가 한 데이터 원본 테이블의 모든 열과 다른 데이터 원본에 대해 GRANTOR가 UPDATE 권한을 갖는 해당 열만 업데이트할 수 있도록 합니다. |
IS_GRANTABLE |
varchar(3) |
GRANTEE가 다른 사용자에게 사용 권한을 부여할 수 있는지 여부를 나타냅니다. 이것을 주로 "허가의 허가" 권한이라고 합니다. YES, NO 또는 NULL이 될 수 있습니다. 알 수 없는(또는 NULL) 값은 "허가의 허가"를 적용할 수 없는 데이터 원본을 의미합니다. |
주의
반환된 결과는 TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME 및 PRIVILEGE 순으로 정렬됩니다.
사용 권한
스키마에 대한 SELECT 권한이 필요합니다.
예
다음 예에서는 지정한 연결된 서버 Seattle1의 AdventureWorks2012 데이터베이스에서 Product로 시작되는 이름을 가진 테이블에 대한 권한 정보를 반환합니다. SQL Server는 연결된 서버로 가정됩니다.
EXEC sp_table_privileges_ex @table_server = 'Seattle1',
@table_name = 'Product%',
@table_schema = 'Production',
@table_catalog ='AdventureWorks2012';