適用於:SQL Server
從指定的連結伺服器傳回指定數據表的許可權資訊。
語法
sp_table_privileges_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
引數
[ @table_server = ] N'table_server'
要傳回資訊的連結伺服器名稱。 @table_server為 sysname,沒有預設值。
[ @table_name = ] N'table_name'
要提供數據表許可權信息的數據表名稱。
@table_name為 sysname 預設值為 NULL。
[ @table_schema = ] N'table_schema'
數據表架構。 在某些 DBMS 環境中,這是數據表擁有者。
@table_schema為 sysnameNULL。
[ @table_catalog = ] N'table_catalog'
指定 之@table_name 所在的資料庫名稱。
@table_catalog為 sysnameNULL。
[ @fUsePattern = ] fUsePattern
判斷、_、 %和 [ 字元]是否解譯為通配符。 有效值為 0 (模式比對已關閉)和 1 (模式比對為開啟)。
@fUsePattern為 bit,預設值為 1。
傳回碼值
無。
結果集
| 資料行名稱 | 資料類型 | 描述 |
|---|---|---|
TABLE_CAT |
sysname | 數據表限定符名稱。 各種 DBMS 產品支援數據表的三部分命名(<qualifier>.<owner>.<name>)。 在 SQL Server 中,此資料行代表資料庫名稱。 在某些產品中,它代表數據表資料庫環境的伺服器名稱。 這個欄位可以是 NULL。 |
TABLE_SCHEM |
sysname | 數據表擁有者名稱。 在 SQL Server 中,此資料行代表建立數據表的資料庫用戶名稱。 此欄位一律會傳回值。 |
TABLE_NAME |
sysname | 資料表名稱。 此欄位一律會傳回值。 |
GRANTOR |
sysname | 授與此 權限的資料庫使用者名稱 TABLE_NAME 給列出的 GRANTEE。 在 SQL Server 中,此數據行一律與 TABLE_OWNER相同。 此欄位一律會傳回值。 此外,數據 GRANTOR 行可能是資料庫擁有者 (TABLE_OWNER) 或資料庫擁有者在 WITH GRANT OPTION 語句中使用 GRANT 子句授與許可權的使用者。 |
GRANTEE |
sysname | 列出的 TABLE_NAME已授與此許可權GRANTOR的資料庫用戶名稱。 此欄位一律會傳回值。 |
PRIVILEGE |
varchar(32) | 其中一個可用的數據表許可權。 數據表許可權可以是下列其中一個值,或定義實作時數據源所支援的其他值。SELECT
=
GRANTEE 可以擷取一或多個數據行的數據。INSERT
=
GRANTEE 可以為一或多個數據行提供新數據列的數據。UPDATE
=
GRANTEE 可以修改一或多個數據行的現有數據。DELETE
=
GRANTEE 可以從數據表中移除數據列。REFERENCES
=
GRANTEE 可以在主鍵/外鍵關聯性中參考外表中的數據行。 在 SQL Server 中,主鍵/外鍵關聯性是使用數據表條件約束來定義。特定數據表許可權提供給 GRANTEE 的動作範圍取決於數據源。 例如, UPDATE 許可權可讓 在 GRANTEE 一個數據源上更新數據表中的所有數據行,而且只有具有 GRANTOR 另一個數據源之 UPDATE 許可權的數據行。 |
IS_GRANTABLE |
varchar(3) | 指出是否 GRANTEE 允許將許可權授與其他使用者。 這通常稱為「授與授與」許可權。 可以是 YES、NO 或 NULL。 未知或 NULL,值是指「授與授與」不適用的數據源。 |
備註
傳回的結果會依TABLE_QUALIFIER、、 TABLE_OWNERTABLE_NAME和 PRIVILEGE排序。
權限
SELECT需要架構的許可權。
範例
下列範例會從指定的連結伺服器 Product傳回名稱開頭為 AdventureWorks2025 之數據表Seattle1的許可權資訊。 SQL Server 會假設為連結的伺服器。
EXECUTE sp_table_privileges_ex
@table_server = 'Seattle1',
@table_name = 'Product%',
@table_schema = 'Production',
@table_catalog = 'AdventureWorks2022';