Compartir a través de


sp_table_privileges_ex (Transact-SQL)

Devuelve información de privilegios sobre la tabla especificada del servidor vinculado especificado.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_table_privileges_ex [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ]
     [ , [@fUsePattern =] 'fUsePattern']

Argumentos

  • [ @table_server = ] 'table_server'
    Es el nombre del servidor vinculado para el que se devuelve información. table_server es de tipo sysname y no tiene valor predeterminado.

  • [ @table_name = ] 'table_name']
    Es el nombre de la tabla para la que se proporciona información de privilegios de tabla. table_name es de tipo sysname y su valor predeterminado es NULL.

  • [ @table_schema = ] 'table_schema'
    Es el esquema de la tabla. En algunos entornos DBMS es el propietario de la tabla. table_schema es de tipo sysname y su valor predeterminado es NULL.

  • [ @table_catalog = ] 'table_catalog'
    Es el nombre de la base de datos en que reside el elemento table_name especificado. table_catalog es de tipo sysname y su valor predeterminado es NULL.

  • [ @fUsePattern =] 'fUsePattern'
    Determina si los caracteres '_', '%', '[' y ']' se interpretan como caracteres comodín. Los valores válidos son 0 (coincidencia de patrón desactivada) y 1 (coincidencia de patrón activada). fUsePattern es de tipo bit y su valor predeterminado es 1.

Valores de código de retorno

Ninguno

Conjuntos de resultados

Nombre de columna

Tipo de datos

Descripción

TABLE_CAT

sysname

Nombre del calificador de la tabla. Varios productos DBMS admiten nombres de tres partes para las tablas (qualifier.owner.name). En SQL Server, esta columna representa el nombre de la base de datos. En algunos productos, representa el nombre del servidor del entorno de base de datos de la tabla. Este campo puede ser NULL.

TABLE_SCHEM

sysname

Nombre del propietario de la tabla. En SQL Server, esta columna representa el nombre del usuario de la base de datos que creó la tabla. Este campo siempre devuelve un valor.

TABLE_NAME

sysname

Nombre de la tabla. Este campo siempre devuelve un valor.

GRANTOR

sysname

Nombre del usuario de la base de datos que ha concedido permisos para TABLE_NAME al GRANTEE que aparece. En SQL Server, esta columna es siempre la misma que en TABLE_OWNER. Este campo siempre devuelve un valor. Asimismo, la columna GRANTOR podría ser el propietario de la base de datos (TABLE_OWNER) o un usuario al que el propietario de la base de datos haya concedido permiso mediante la cláusula WITH GRANT OPTION en la instrucción GRANT.

GRANTEE

sysname

Nombre del usuario de la base de datos al que GRANTOR ha concedido permisos para TABLE_NAME. Este campo siempre devuelve un valor.

PRIVILEGE

varchar(32)

Uno de los permisos de tabla disponibles. Los permisos de tabla pueden ser uno de los valores siguientes u otros valores que el origen de datos admita al definirse la implementación.

SELECT = GRANTEE puede recuperar datos de una o más de las columnas.

INSERT = GRANTEE puede proporcionar datos para nuevas filas de una o más de las columnas.

UPDATE = GRANTEE puede modificar datos existentes de una o más de las columnas.

DELETE = GRANTEE puede quitar filas de la tabla.

REFERENCES = GRANTEE puede hacer referencia a una columna de una tabla externa en una relación entre clave principal y clave externa. En SQL Server, las relaciones entre clave principal y clave externa se definen mediante restricciones de tabla.

El ámbito de acción dado a GRANTEE por un privilegio de tabla específico depende del origen de datos. Por ejemplo, el permiso UPDATE podría permitir que GRANTEE actualizara todas las columnas de una tabla en un origen de datos y solo aquellas columnas para las que GRANTOR tuviera el permiso UPDATE en otro origen de datos.

IS_GRANTABLE

varchar(3)

Indica si GRANTEE puede conceder permisos a otros usuarios. A esto se le suele denominar permiso "conceder por concesión". Puede ser YES, NO o NULL. Un valor desconocido, o NULL, hace referencia a un origen de datos en el que “conceder por concesión” no es aplicable.

Comentarios

Los resultados devueltos se ordenan por TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME y PRIVILEGE.

Permisos

Requiere el permiso SELECT en el esquema.

Ejemplos

En el ejemplo siguiente se devuelve información de privilegios acerca de las tablas con nombres que comienzan por Product de la base de datos AdventureWorks2012 del servidor vinculado especificado Seattle1. (Se asume que SQL Server es el servidor vinculado).

EXEC sp_table_privileges_ex @table_server = 'Seattle1', 
   @table_name = 'Product%', 
   @table_schema = 'Production',
   @table_catalog ='AdventureWorks2012';

Vea también

Referencia

sp_column_privileges_ex (Transact-SQL)

Procedimientos almacenados del sistema (Transact-SQL)

Procedimientos almacenados de consultas distribuidas (Transact-SQL)