sp_column_privileges(Transact-SQL)
적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
현재 환경 내의 단일 테이블에 대한 열 권한 정보를 반환합니다.
구문
sp_column_privileges [ @table_name = ] 'table_name'
[ , [ @table_owner = ] 'table_owner' ]
[ , [ @table_qualifier = ] 'table_qualifier' ]
[ , [ @column_name = ] 'column' ]
인수
[ @table_name= ] 'table_name'
카탈로그 정보를 반환하는 데 사용되는 테이블입니다. table_name 기본값이 없는 sysname입니다. 와일드카드 패턴 일치는 지원되지 않습니다.
[ @table_owner= ] 'table_owner'
카탈로그 정보를 반환하는 데 사용되는 테이블의 소유자입니다. table_owner sysname이며 기본값은 NULL입니다. 와일드카드 패턴 일치는 지원되지 않습니다. table_owner 지정하지 않으면 기본 DBMS(데이터베이스 관리 시스템)의 기본 테이블 표시 유형 규칙이 적용됩니다.
현재 사용자가 지정된 이름의 테이블을 소유하는 경우 해당 테이블의 열이 반환됩니다. table_owner 지정되지 않고 현재 사용자가 지정된 table_name 있는 테이블을 소유하지 않는 경우 sp_column 권한은 데이터베이스 소유자가 소유한 지정된 table_name 있는 테이블을 찾습니다. 테이블 열이 있으면 해당 테이블의 열이 반환됩니다.
[ @table_qualifier= ] 'table_qualifier'
테이블 한정자의 이름입니다. table_qualifier sysname이며 기본값은 NULL입니다. 다양한 DBMS 제품은 테이블(한정자)에 대해 세 부분으로 구성된 명명을 지원합니다.소유자입니다.name). SQL Server에서 이 열은 데이터베이스 이름을 나타냅니다. 일부 제품에서는 테이블 데이터베이스 환경의 서버 이름을 나타냅니다.
[ @column_name= ] 'column'
카탈로그 정보의 열을 하나만 가져올 때 사용되는 단일 열입니다. 열 은 nvarchar(384)이며 기본값은 NULL입니다. 열을 지정하지 않으면 모든 열이 반환됩니다. SQL Server 에서 열 은 sys.columns 테이블에 나열된 열 이름을 나타냅니다. 열 에는 기본 DBMS의 와일드카드 일치 패턴을 사용하는 와일드카드 문자가 포함될 수 있습니다. 최대 상호 운용성을 위해 게이트웨이 클라이언트는 ISO 표준 패턴 일치(% 및 _ 와일드카드 문자)만 가정해야 합니다.
결과 집합
sp_column_privileges ODBC의 SQLColumnPrivileges와 동일합니다. 반환된 결과는 TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME 및 PRIVILEGE로 정렬됩니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
TABLE_QUALIFIER | sysname | 테이블 한정자 이름입니다. 이 필드는 NULL이 될 수 있습니다. |
TABLE_OWNER | sysname | 테이블 소유자 이름입니다. 이 필드는 항상 값을 반환합니다. |
TABLE_NAME | sysname | 테이블 이름입니다. 이 필드는 항상 값을 반환합니다. |
COLUMN_NAME | sysname | 반환된 TABLE_NAME 각 열에 대한 열 이름입니다. 이 필드는 항상 값을 반환합니다. |
GRANTOR | sysname | 이 COLUMN_NAME 나열된 GRANTEE에 대한 권한을 부여한 데이터베이스 사용자 이름입니다. SQL Server에서 이 열은 항상 TABLE_OWNER 동일합니다. 이 필드는 항상 값을 반환합니다. GRANTOR 열은 GRANT 문에서 WITH GRANT OPTION 절을 사용하여 데이터베이스 소유자(TABLE_OWNER) 또는 데이터베이스 소유자가 권한을 부여한 사용자일 수 있습니다. |
피부 | sysname | 나열된 GRANTOR에서 이 COLUMN_NAME 대한 권한이 부여된 데이터베이스 사용자 이름입니다. SQL Server에서 이 열에는 항상 sysusers 테이블의 데이터베이스 사용자가 포함됩니다. 이 필드는 항상 값을 반환합니다. |
권한 | varchar(32) | 사용 가능한 열 권한 중 하나입니다. 열 권한은 다음 값(또는 구현이 정의될 때 데이터 원본에서 지원하는 다른 값) 중 하나일 수 있습니다. SELECT = GRANTEE는 열에 대한 데이터를 검색할 수 있습니다. INSERT = GRANTEE는 테이블에 새 행을 삽입할 때(GRANTEE에 의해) 이 열에 대한 데이터를 제공할 수 있습니다. UPDATE = GRANTEE는 열의 기존 데이터를 수정할 수 있습니다. REFERENCES = GRANTEE는 기본 키/외래 키 관계에서 외래 테이블의 열을 참조할 수 있습니다. 기본 키/외래 키 관계는 테이블 제약 조건을 사용하여 정의됩니다. |
IS_GRANTABLE | varchar(3) | GRANTEE가 다른 사용자에게 권한을 부여할 수 있도록 허용할지 여부를 나타냅니다. 이것을 "권한 부여 권한"이라고도 합니다. YES, NO 또는 NULL일 수 있습니다. 알 수 없는 NULL 값은 "부여를 사용하여 부여"를 적용할 수 없는 데이터 원본을 나타냅니다. |
설명
SQL Server를 사용하면 GRANT 문과 함께 사용 권한이 부여되고 REVOKE 문에서 제거됩니다.
사용 권한
스키마에 대한 SELECT 권한이 필요합니다.
예
다음 예제에서는 특정 열에 대한 열 권한 정보를 반환합니다.
USE AdventureWorks2022;
GO
EXEC sp_column_privileges @table_name = 'Employee'
,@table_owner = 'HumanResources'
,@table_qualifier = 'AdventureWorks2022'
,@column_name = 'SalariedFlag';
참고 항목
GRANT(Transact-SQL)
REVOKE(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기