返回来自指定链接服务器的指定表的特权信息。
sp_table_privileges_ex [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_catalog = ] 'table_catalog' ]
[ , [ @table_schema = ] 'table_schema' ]
[@table_server =] 'table_server'
要返回其信息的链接服务器的名称。table_server 的数据类型为 sysname,没有默认值。
[@table_name =] 'table_name'
表的名称,将提供该表的特权信息。table_name 的数据类型为 sysname,默认值为 NULL。
[@table_schema =] 'table_schema'
是表架构,在某些 DBMS 环境下是表所有者。table_schema 的数据类型为 sysname,默认值为 NULL。
[@table_catalog =] 'table_catalog'
指定 table_name 所在数据库的名称。table_catalog 的数据类型为 sysname,默认值为 NULL。
无
列名 | 数据类型 | 描述 |
---|---|---|
TABLE_CAT | sysname | 表限定符名称。多种 DBMS 产品支持表的三部分命名方式 (qualifier.owner.name)。在 SQL Server 中,该列表示数据库名。在某些产品中,该列表示表所在数据库环境的服务器名。该字段可以为 NULL。 |
TABLE_SCHEM | sysname | 表所有者名称。在 SQL Server 中,该列表示创建表的数据库用户的姓名。该字段始终返回值。 |
TABLE_NAME | sysname | 表名。该字段始终返回值。 |
GRANTOR | sysname | 已向所列的 GRANTEE 授予对 TABLE_NAME 的权限的数据库用户名。在 SQL Server 中,该列总是和 TABLE_OWNER 相同。该字段始终返回值。同样,GRANTOR 列可能是数据库所有者(TABLE_OWNER),或由数据库所有者使用 GRANT 命令的 WITH GRANT OPTION 子句授权的用户。 |
GRANTEE | sysname | 由所列的 GRANTOR 授予了对 TABLE_NAME 的权限的数据库用户名该字段始终返回值。 |
PRIVILEGE | varchar(32) | 一个可用的表权限。表权限可以是下列值之一(或在定义了执行之后数据源所支持的其它值): SELECT = GRANTEE 可为一列或多列检索数据。 INSERT = GRANTEE 可为一列或多列的新行提供数据。 UPDATE = GRANTEE 可为一列或多列修改现有数据。 DELETE = GRANTEE 可从表中删除行。 REFERENCES = GRANTEE 可以引用主键/外键关系中外表中的列。在 SQL Server 中,主键/外键关系由表约束定义。 由特定表特权给予 GRANTEE 的作用域是由数据源决定的。例如,UPDATE 特权可能允许 GRANTEE 更新一个数据源的表中的所有列,而只允许 GRANTOR 更新另一数据源中它具有 UPDATE 特权的特定列。 |
IS_GRANTABLE | varchar(3) | 说明 GRANTEE 是否可以对其他用户授予权限(经常称为"获权后授权"(grant with grant) 权限)。可以是 YES、NO 或 NULL。未知的(或 NULL)值指向不适用"获权后授权"的数据源。 |
返回结果按 TABLE_QUALIFIER、TABLE_OWNER、TABLE_NAME 和 PRIVILEGE 顺序排列。
执行权限默认授予 public 角色。
该例返回表 Customers 的特权信息,该表由 dbo 所有,来自指定链接服务器(以 SQL Server 为链接服务器)中的 Northwind 数据库。
EXEC sp_table_privileges_ex London1, Customers, dbo, Northwind