Share via


sp_column_privileges_ex (Transact-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_server のデータ型は sysname で、既定値はありません。

  • [ @table_name = ] 'table_name'
    指定した列が含まれるテーブルの名前を指定します。table_name は sysname であり、既定値は NULL です。

  • [ @table_schema = ] 'table_schema'
    テーブル スキーマを指定します。table_schema のデータ型は sysname で、既定値は NULL です。

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

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

結果セット

次の表は結果セットの列を示しています。返される結果は、TABLE_QUALIFIER、TABLE_OWNER、TABLE_NAME、COLUMN_NAME、PRIVILEGE の順序に従って並べ替えられます。

列名

データ型

説明

TABLE_CAT

sysname

テーブル修飾子の名前。さまざまな DBMS 製品で、3 つの要素で構成されたテーブル名 (qualifier.owner.name) を使用できます。SQL Server 2008 では、この列はデータベース名を表します。製品によっては、テーブルのデータベース環境のサーバー名を表す場合があります。このフィールドは NULL の場合もあります。

TABLE_SCHEM

sysname

テーブル所有者の名前。SQL Server では、この列は、テーブルを作成したデータベース ユーザーの名前を表します。このフィールドは常に値を返します。

TABLE_NAME

sysname

テーブル名。このフィールドは常に値を返します。

COLUMN_NAME

sysname

返される TABLE_NAME の各列の名前。このフィールドは常に値を返します。

GRANTOR

sysname

COLUMN_NAME に対する権限を、表示される GRANTEE に与えたデータベース ユーザーの名前。SQL Server では、この列は常に TABLE_OWNER と同じです。このフィールドは常に値を返します。

GRANTOR 列は、データベース所有者 (TABLE_OWNER) か、または GRANT ステートメントで WITH GRANT OPTION 句を使用して、データベース所有者が権限を許可したユーザーのいずれかです。

GRANTEE

sysname

COLUMN_NAME に対する権限を、表示される GRANTOR によって与えられたデータベース ユーザーの名前。このフィールドは常に値を返します。

PRIVILEGE

varchar(32)

有効な列権限。列権限は、次に挙げる値 (または実装が定義されるときにデータ ソースによってサポートされるその他の値) のいずれかになります。

SELECT。GRANTEE は、列からデータを取得できます。

INSERT。GRANTEE は、テーブルに新しい行を挿入したときにこの列のデータを設定できます。

UPDATE。GRANTEE は、列内の既存のデータを修正できます。

REFERENCES。GRANTEE は、主キー/外部キーのリレーションシップで外部テーブル内の列を参照できます。主キー/外部キーのリレーションシップは、テーブル制約によって定義されます。

IS_GRANTABLE

varchar(3)

GRANTEE が他のユーザーに権限を与えることが許可されているかどうかを示します。これは "許可の許可" 権限とも呼ばれます。YES、NO、NULL のいずれかになります。不明な値 (つまり NULL) は、"許可の許可" 権限が適用されないデータ ソースを示します。

権限

スキーマに対する SELECT 権限が必要です。

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

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