sp_column_privileges_ex (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';