다음을 통해 공유


sp_table_privileges_ex(Transact-SQL)

지정한 연결 서버에서 지정한 테이블에 관한 권한 정보를 반환합니다.

항목 링크 아이콘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의 AdventureWorks 데이터베이스에서 Contact로 시작되는 이름을 가진 테이블에 대한 권한 정보를 반환합니다. (SQL Server는 연결된 서버로 가정됩니다.)

EXEC sp_table_privileges_ex @table_server = 'Seattle1', 
   @table_name = 'Contact%', 
   @table_schema = 'Person',
   @table_catalog ='AdventureWorks'