sp_column_privileges_ex (Transact-SQL)
適用於:SQL Server
傳回指定之連結伺服器上的指定數據表的數據行許可權。
語法
sp_column_privileges_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @column_name = ] N'column_name' ]
[ ; ]
引數
[ @table_server = ] N'table_server'
要傳回資訊的連結伺服器名稱。 @table_server為 sysname,沒有預設值。
[ @table_name = ] N'table_name'
包含指定之數據行的數據表名稱。 @table_name為 sysname 預設值為 NULL
。
[ @table_schema = ] N'table_schema'
數據表架構。 @table_schema為 sysname,預設值為 NULL
。
[ @table_catalog = ] N'table_catalog'
指定 之@table_name 所在的資料庫名稱。 @table_catalog為 sysname,預設值為 NULL
。
[ @column_name = ] N'column_name'
要提供許可權信息的數據行名稱。 @column_name為 sysname,預設值NULL
為 (所有通用)。
結果集
下表顯示結果集數據行。 傳回的結果會依 TABLE_QUALIFIER
、、 TABLE_OWNER
、 TABLE_NAME
、 COLUMN_NAME
和 PRIVILEGE
排序。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
TABLE_CAT |
sysname | 數據表限定符名稱。 各種 DBMS 產品支援數據表的三部分命名(<qualifier>.<owner>.<name> )。 在 SQL Server 中,此資料行代表資料庫名稱。 在某些產品中,它代表數據表資料庫環境的伺服器名稱。 這個欄位可以是 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 ) 或資料庫擁有者在 WITH GRANT OPTION 語句中使用 GRANT 子句授與許可權的人員。 |
GRANTEE |
sysname | 列出的 GRANTOR 授與此許可權COLUMN_NAME 的資料庫用戶名稱。 此欄位一律會傳回值。 |
PRIVILEGE |
varchar(32) | 其中一個可用的數據行許可權。 資料行權限可以是下列其中一個值(或定義實作時數據源所支援的其他值):SELECT = GRANTEE 可以擷取數據行的數據。INSERT = GRANTEE 當新的數據列插入資料表時, GRANTEE 可以提供此數據行的數據。UPDATE = GRANTEE 可以修改數據行中的現有數據。REFERENCES = GRANTEE 可以在主鍵/外鍵關聯性中參考外表中的數據行。 主鍵/外鍵關聯性是使用數據表條件約束來定義。 |
IS_GRANTABLE |
varchar(3) | 指出 是否 GRANTEE 允許將許可權授與其他使用者(通常稱為「授與授與」許可權)。 可以是 YES、NO 或 NULL 。 未知或 NULL ,值是指「授與授與」不適用的數據源。 |
權限
SELECT
需要架構的許可權。
範例
下列範例會傳HumanResources.Department
回連結伺服器上資料庫中Seattle1
數據表AdventureWorks2022
的數據行許可權資訊。
EXEC sp_column_privileges_ex
@table_server = 'Seattle1',
@table_name = 'Department',
@table_schema = 'HumanResources',
@table_catalog = 'AdventureWorks2022';