sp_table_privileges_ex (Transact-SQL)
適用於: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 為 sysname ,預設值為 NULL
。
[ @table_catalog = ] N'table_catalog '
指定 之@table_name 所在的資料庫名稱。 @table_catalog 為 sysname ,預設值為 NULL
。
[ @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 | 列出的 GRANTOR 已授與此許可權 TABLE_NAME 的資料庫使用者名稱。 此欄位一律會傳回值。 |
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_OWNER
TABLE_NAME
和 PRIVILEGE
排序。
權限
SELECT
需要架構的許可權。
範例
下列範例會從指定的連結伺服器 Seattle1
傳回名稱開頭為 AdventureWorks2022
之資料表 Product
的許可權資訊。 SQL Server 會假設為連結的伺服器。
EXEC sp_table_privileges_ex @table_server = 'Seattle1',
@table_name = 'Product%',
@table_schema = 'Production',
@table_catalog ='AdventureWorks2022';
相關內容
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: