共用方式為


sp_column_privileges_ex (Transact-SQL)

傳回指定連結伺服器之指定資料表的資料行權限。

主題連結圖示 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_QUALIFIERTABLE_OWNERTABLE_NAMECOLUMN_NAMEPRIVILEGE 來排序。

資料行名稱

資料類型

說明

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),或資料庫擁有者利用 GRANT 陳述式中之 WITH GRANT OPTION 子句來授與權限的使用者。

GRANTEE

sysname

列出的 GRANTOR 已授與這份 COLUMN_NAME 的權限之資料庫使用者名稱。 這個欄位一律會傳回值。

PRIVILEGE

varchar(32)

可用的資料行權限之一。 資料行權限可以是下列值之一 (或定義實作時,資料來源所支援的其他值):

SELECT = GRANTEE 可以擷取資料行的資料。

INSERT = GRANTEE 可以在新資料列插入資料表 (GRANTEE 執行這個動作) 時,提供這個資料行的資料。

UPDATE = GRANTEE 可以修改資料行中現有的資料。

REFERENCES = GRANTEE 可以在主索引鍵/外部索引鍵關聯性中,參考外部資料表中的資料行。 主索引鍵/外部索引鍵關聯性是利用資料表條件約束來定義的。

IS_GRANTABLE

varchar(3)

指出是否允許 GRANTEE 將權限授與其他使用者 (通常稱為 "grant with grant" 權限)。 它可以是 YES、NO 或 NULL。 未知 (或 NULL) 值是指不適用 "grant with grant" 的資料來源。

權限

需要結構描述的 SELECT 權限。

範例

下列範例會從 Seattle1 連結伺服器的 AdventureWorks2012 資料庫之 HumanResources.Department 資料表中,傳回資料行權限資訊。

EXEC sp_column_privileges_ex @table_server = 'Seattle1', 
   @table_name = 'Department', 
   @table_schema = 'HumanResources',
   @table_catalog ='AdventureWorks2012';

請參閱

參考

sp_table_privileges_ex (Transact-SQL)

系統預存程序 (Transact-SQL)