VIEW DEFINITION 권한

VIEW DEFINITION 권한을 사용하여 사용자는 이 권한을 부여 받은 보안 개체의 메타데이터를 볼 수 있습니다. 그러나 VIEW DEFINITION 권한으로 보안 개체 자체에 액세스할 수는 없습니다. 예를 들어 테이블에 대한 VIEW DEFINITION 권한만 부여 받은 사용자는 sys.objects 카탈로그 뷰에서 테이블과 관련된 메타데이터를 볼 수 있지만 SELECT 또는 CONTROL과 같은 추가 권한이 없으면 테이블의 데이터를 읽을 수 없습니다. 메타데이터를 보는 방법은 GRANT(Transact-SQL)을 참조하십시오.

다음 수준에서 VIEW DEFINITION 권한을 부여할 수 있습니다.

  • 서버 범위

  • 데이터베이스 범위

  • 스키마 범위

  • 개별 엔터티

서버 범위

이 범위에서 부여된 VIEW ANY DEFINITION 권한은 피부여자에 대한 사용 권한 기반 메타데이터 액세스를 부정합니다. 즉, 데이터베이스 범위, 스키마 범위 또는 테이블과 같은 개별 엔터티에 대해 피부여자의 VIEW DEFINITION 또는 CONTROL 권한이 거부된 경우를 제외하고 피부여자는 SQL Server 인스턴스의 모든 메타데이터를 볼 수 있습니다. 이 범위에서 이 사용 권한에 사용할 구문은 GRANT(Transact-SQL)를 참조하십시오.

[!참고]

사용 권한 이름은 서버 범위에서는 VIEW ANY DEFINITION이지만 다른 모든 범위에서는 VIEW DEFINITION입니다.

데이터베이스 범위

이 범위에서 부여된 VIEW DEFINITION은 지정한 데이터베이스에서 피부여자에 대한 사용 권한 기반 메타데이터 액세스를 부정합니다. 즉, 스키마 범위 또는 테이블과 같은 개별 엔터티에 대해 피부여자의 VIEW DEFINITION 또는 CONTROL 권한이 거부된 경우를 제외하고 피부여자는 GRANT 문이 실행되는 데이터베이스 컨텍스트의 모든 메타데이터를 볼 수 있습니다. 이 범위에서 이 사용 권한에 사용할 구문은 GRANT(Transact-SQL)를 참조하십시오.

스키마 범위

이 범위에서 VIEW DEFINITION 권한을 부여하면 스키마의 개별 엔터티에 대해 피부여자의 VIEW DEFINITION 또는 CONTROL 권한이 거부된 경우를 제외하고 피부여자가 지정된 스키마에 포함된 모든 개체의 메타데이터를 모두 볼 수 있습니다. 이 범위에서 이 사용 권한에 사용할 구문은 GRANT 스키마 권한(Transact-SQL)를 참조하십시오.

개별 엔터티

개별 엔터티에 VIEW DEFINITION 권한을 부여하면 피부여자가 지정된 엔터티에 대한 메타데이터를 볼 수 있습니다. 개별 엔터티에 대한 이 사용 권한에 사용할 구문은 GRANT 개체 사용 권한(Transact-SQL)을 참조하십시오.

사용자에게 테이블과 같은 보안 개체에 대한 VIEW DEFINITION 권한을 부여할 수 있습니다. 그러면 사용자가 트리거, 제약 조건, 인덱스 등 테이블과 관련된 모든 하위 구성 요소와 테이블의 메타데이터를 볼 수 있습니다.