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

向列出的 GRANTEE 授予对此 COLUMN_NAME 的权限的数据库用户名。 在 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)