Share via


sp_table_privileges_ex (Transact-SQL)

指定したリンク サーバーから、指定したテーブルの特権情報を返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_table_privileges_ex [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ]
     [ , [@fUsePattern =] 'fUsePattern']

引数

[ @table_server = ] 'table_server'

情報を返すリンク サーバーの名前を指定します。table_server のデータ型は sysname で、既定値はありません。

[ @table_name = ] 'table_name']

テーブルの特権情報を提供するテーブルの名前を指定します。table_name のデータ型は sysname で、既定値は NULL です。

[ @table_schema = ] 'table_schema'

テーブル スキーマを指定します。これは一部の DBMS 環境ではテーブル所有者になります。table_schema のデータ型は sysname で、既定値は NULL です。

[ @table_catalog = ] 'table_catalog'

指定した table_name が存在するデータベースの名前を指定します。table_catalog のデータ型は sysname で、既定値は NULL です。

[ @fUsePattern =] 'fUsePattern'

文字 '_'、'%'、'['、および ']' をワイルドカード文字として解釈するかどうかを指定します。有効な値は 0 (パターン照合がオフ) および 1 (パターン照合がオン) です。fUsePattern のデータ型は bit で、既定値は 1 です。

結果セット

列名 データ型 説明

TABLE_CAT

sysname

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

TABLE_SCHEM

sysname

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

TABLE_NAME

sysname

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

GRANTOR

sysname

この TABLE_NAME の権限を、表示される GRANTEE に与えたデータベース ユーザーの名前。SQL Server では、この列は常に TABLE_OWNER と同じです。このフィールドは常に値を返します。GRANTOR 列には、データベース所有者 (TABLE_OWNER) が返されます。また、データベース所有者が GRANT ステートメントで WITH GRANT OPTION 句を使用して権限を与えたユーザーが返される場合もあります。

GRANTEE

sysname

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

PRIVILEGE

varchar(32)

使用可能なテーブル権限の 1 つ。次に示す値、または実装が定義されるときにデータ ソースによってサポートされるその他の値のいずれかになります。

SELECT。GRANTEE は、1 列以上のデータを取得できます。

INSERT。GRANTEE は、新しい行の 1 列以上にデータを提供できます。

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

DELETE。GRANTEE は、テーブルから行を削除できます。

REFERENCES。GRANTEE は、主キー/外部キーのリレーションシップで外部テーブル内の列を参照できます。SQL Server では、主キー/外部キーのリレーションシップはテーブル制約を使用して定義できます。

特定のテーブル特権によって GRANTEE に与えられる操作の範囲は、データ ソースに依存します。たとえば、UPDATE 権限が与えられた GRANTEE は、あるデータ ソースではテーブルのすべての列を更新することができますが、別のデータ ソースでは、GRANTOR が UPDATE 権限を持つ列しか更新できないことがあります。

IS_GRANTABLE

varchar(3)

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

解説

返される結果は、TABLE_QUALIFIERTABLE_OWNERTABLE_NAMEPRIVILEGE の値に従って並べ替えられます。

権限

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

戻り値

なし

次の例では、指定したリンク サーバー Seattle1 から、AdventureWorks データベース内の Contact で始まる名前のテーブルに関する特権情報を返します (SQL Server はリンク サーバーであることが前提となっています)。

EXEC sp_table_privileges_ex @table_server = 'Seattle1', 
   @table_name = 'Contact%', 
   @table_schema = 'Person',
   @table_catalog ='AdventureWorks'

参照

関連項目

sp_column_privileges_ex (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)
分散クエリのストアド プロシージャ (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手