返回指定链接服务器上的指定表的列特权。
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_QUALIFIER、TABLE_OWNER、TABLE_NAME、COLUMN_NAME 和 PRIVILEGE排序。
列名 | 数据类型 | 描述 |
---|---|---|
TABLE_CAT | sysname | 表限定符名称。多种 DBMS 产品支持表的三部分命名方式 (qualifier.owner.name)。在 Microsoft® 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 可以检索列的数据。 |
IS_GRANTABLE | varchar(3) | 指出是否允许 GRANTEE 为其他用户授予权限,经常称为"授予再授予 (grant with grant)"。可以是 YES、NO 或 NULL。未知的(或 NULL)值引用不能使用"授予再授予 (grant with grant)"的数据源。 |
执行权限默认赋予 public 角色。
下面的示例返回指定链接服务器上的表的列特权信息。
EXEC sp_column_privileges_ex @table_server = 'Linked_Server',
@table_name = 'Customers', @table_catalog = 'Northwind'