次の方法で共有


sp_column_privileges_ex (Transact-SQL)

適用対象: SQL サーバー

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

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_QUALIFIERTABLE_OWNERTABLE_NAMECOLUMN_NAME、および PRIVILEGE で並べ替えられます。

列名 データ型 説明
TABLE_CAT sysname テーブルの修飾子名です。 さまざまな DBMS 製品で、テーブルについて 3 部構成の名前 (qualifier.owner.name) がサポートされています。 SQL Server では、この列はデータベース名を表します。 一部の製品では、テーブルのデータベース環境のサーバー名を表します。 このフィールドは NULL になる場合があります。
TABLE_SCHEM sysname テーブル所有者の名前。 SQL Server では、この列は、テーブルを作成したデータベース ユーザーの名前を表します。 このフィールドには常に値が返されます。
TABLE_NAME sysname テーブル名。 このフィールドには常に値が返されます。
COLUMN_NAME sysname 返される TABLE_NAME の各列の列名。 このフィールドには常に値が返されます。
グランター sysname リストされているGRANTEEに対するこのCOLUMN_NAMEに対する権限を付与したデータベース ユーザー名。 SQL Server では、この列は常に TABLE_OWNERと同じです。 このフィールドには常に値が返されます。

GRANTOR 列には、データベース所有者 (TABLE_OWNER) または GRANT ステートメントの WITH GRANT OPTION 句を使用して、データベース所有者が権限を付与したユーザーを指定できます。
権限 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)