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 権限は、テーブルなどのセキュリティ保護可能なリソース上のユーザーに許可できます。これにより、ユーザーはテーブルと、トリガや制約、インデックスなどテーブルに関連するサブコンポーネントのメタデータを表示できます。