sp_column_privileges_ex (Transact-SQL)

適用対象:SQL Server

指定されたリンク サーバー上の指定されたテーブルの列の特権を返します。

Transact-SQL 構文表記規則

構文

  
sp_column_privileges_ex [ @table_server = ] 'table_server'   
     [ , [ @table_name = ] 'table_name' ]   
     [ , [ @table_schema = ] 'table_schema' ]   
     [ , [ @table_catalog = ] 'table_catalog' ]   
     [ , [ @column_name = ] 'column_name' ]  

引数

[ @table_server = ] 'table_server' 情報を返すリンク サーバーの名前を指定します。 table_serversysname で、既定値はありません。

[ @table_name = ] 'table_name' 指定した列を含むテーブルの名前を指定します。 table_namesysname で、既定値は NULL です。

[ @table_schema = ] 'table_schema' テーブル スキーマです。 table_schemasysname で、既定値は NULL です。

[ @table_catalog = ] 'table_catalog' 指定した table_name が存在するデータベースの名前を指定します。 table_catalogsysname で、既定値は NULL です。

[ @column_name = ] 'column_name' 特権情報を提供する列の名前を指定します。 column_namesysname で、既定値は NULL (すべて共通) です。

結果セット

次の表は結果セットの列を示しています。 返される結果は、TABLE_QUALIFIER、TABLE_OWNERTABLE_NAMECOLUMN_NAME、PRIVILEGE で並べえられます

列名 データ型 説明
TABLE_CAT sysname テーブル修飾子の名前。 さまざまな DBMS 製品では、テーブルの 3 部構成の名前付け (修飾子) がサポートされています。所有者name)。 SQL Serverでは、この列はデータベース名を表します。 一部の製品では、テーブルのデータベース環境のサーバー名を表します。 このフィールドには NULL を指定できます。
TABLE_SCHEM sysname テーブル所有者名。 SQL Serverでは、この列はテーブルを作成したデータベース ユーザーの名前を表します。 このフィールドは常に値を返します。
Table_name sysname テーブル名。 このフィールドは常に値を返します。
COLUMN_NAME sysname 返される TABLE_NAME の各列の列名。 このフィールドは常に値を返します。
グランター sysname このCOLUMN_NAMEに対するアクセス許可を付与されたデータベース ユーザー名 、一覧表示されている GRANTEE に対して行われます。 SQL Serverでは、この列は常にTABLE_OWNERと同じです。 このフィールドは常に値を返します。

GRANTOR 列には、データベース所有者 (TABLE_OWNER) または GRANT ステートメントの WITH GRANT OPTION 句を使用して、データベース所有者が権限を付与したユーザーを指定できます。
GRANTEE sysname リストされている GRANTOR によってこのCOLUMN_NAMEに対する権限が付与されたデータベース ユーザー名。 このフィールドは常に値を返します。
特権 varchar(32) 使用可能な列のアクセス許可の 1 つ。 列のアクセス許可には、次のいずれかの値を指定できます (または、実装が定義されている場合にデータ ソースでサポートされるその他の値)。

SELECT = GRANTEE は列のデータを取得できます。

INSERT = GRANTEE は、( GRANTEE によって) 新しい行がテーブルに挿入されるときに、この列のデータを提供できます。

UPDATE = GRANTEE は、列内の既存のデータを変更できます。

REFERENCES = GRANTEE は、主キーと外部キーのリレーションシップの外部テーブル内の列を参照できます。 主キーと外部キーのリレーションシップは、テーブル制約を使用して定義されます。
IS_GRANTABLE varchar(3) GRANTEE が他のユーザーにアクセス許可を付与できるかどうかを示します (多くの場合、"grant with grant" アクセス許可と呼ばれます)。 YES、NO、または NULL を指定できます。 不明な値 (つまり NULL) は、"許可の許可" 権限が適用されないデータ ソースを示します。

アクセス許可

スキーマに対する SELECT アクセス許可が必要です。

次の例では、HumanResources.Department リンク サーバーにある AdventureWorks2022 データベースの Seattle1 テーブルの列特権情報を返します。

EXEC sp_column_privileges_ex @table_server = 'Seattle1',   
   @table_name = 'Department',   
   @table_schema = 'HumanResources',  
   @table_catalog ='AdventureWorks2022';  

参照

sp_table_privileges_ex (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)