sp_column_privileges_ex (Transact-SQL)

适用于:SQL Server

返回指定链接服务器上的指定表的列特权。

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_serversysname,没有默认值。

[ @table_name = ] 'table_name' 包含指定列的表的名称。 table_namesysname,默认值为 NULL。

[ @table_schema = ] 'table_schema' 表架构。 table_schemasysname,默认值为 NULL。

[ @table_catalog = ] 'table_catalog' 指定 table_name 所在的数据库的名称。 table_catalogsysname,默认值为 NULL。

[ @column_name = ] 'column_name' 要为其提供特权信息的列的名称。 column_namesysname, (所有常见) 的默认值为 NULL。

结果集

下表显示结果集列。 返回的结果按 TABLE_QUALIFIERTABLE_OWNERTABLE_NAMECOLUMN_NAMEPRIVILEGE 进行排序。

列名称 数据类型 说明
TABLE_CAT sysname 表限定符名称。 各种 DBMS 产品支持表 (限定符的三部分命名所有者name) 。 在 SQL Server 中,此列表示数据库名称。 在某些产品中,该列表示表所在的数据库环境的服务器名。 此字段可以为 NULL。
TABLE_SCHEM sysname 表所有者名称。 在 SQL Server 中,此列表示创建表的数据库用户的名称。 此字段始终返回值。
TABLE_NAME sysname 表名。 此字段始终返回值。
COLUMN_NAME sysname TABLE_NAME 返回的每 一列的列名。 此字段始终返回值。
GRANTOR sysname 向列出的 GRANTEE 授予对此COLUMN_NAME权限的数据库用户名。 在SQL Server中,此列始终与TABLE_OWNER相同。 此字段始终返回值。

GRANTOR 列可以是数据库所有者 (TABLE_OWNER) ,也可以是数据库所有者使用 GRANT 语句中的 WITH GRANT OPTION 子句向其授予权限的人员。
GRANTEE sysname 已由列出的 GRANTOR 授予对此COLUMN_NAME权限的数据库用户名。 此字段始终返回值。
特权 varchar (32) 可用列权限中的一个。 列权限可以是下列值中的一个(或定义实现时数据源支持的其他值):

SELECT = GRANTEE 可以检索列的数据。

INSERT = GRANTEE 可以在表中由 GRANTEE) (插入新行时提供此列的数据。

UPDATE = GRANTEE 可以修改列中的现有数据。

REFERENCES = GRANTEE 可以在主键/外键关系中引用外表中的列。 主键/外键关系是使用表约束定义的。
IS_GRANTABLE varchar (3) 指示是否允许 GRANTEE 向其他用户授予权限, (通常称为“使用授权授予”权限) 。 可以是 YES、NO 或 NULL。 未知值或 NULL 值表示不能使用“授予再授予”(grant with grant) 的数据源。

权限

需要对架构的 SELECT 权限。

示例

以下示例返回 HumanResources.Department 链接服务器上 AdventureWorks2022 数据库中 Seattle1 表的列特权信息。

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

另请参阅

sp_table_privileges_ex (Transact-SQL)
系统存储过程 (Transact-SQL)