sp_table_privileges_ex (Transact-SQL)

Se aplica a:SQL Server

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

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @table_server = ] N'table_server'

Nombre del servidor vinculado para el que se va a devolver información. @table_server es sysname, sin ningún valor predeterminado.

[ @table_name = ] N'table_name'

Nombre de la tabla para la que se va a proporcionar información de privilegios de tabla. @table_name es sysname, con un valor predeterminado de NULL.

[ @table_schema = ] N'table_schema'

Esquema de tabla. En algunos entornos DBMS es el propietario de la tabla. @table_schema es sysname, con un valor predeterminado de NULL.

[ @table_catalog = ] N'table_catalog'

Nombre de la base de datos en la que reside el @table_name especificado. @table_catalog es sysname, con un valor predeterminado de NULL.

[ @fUsePattern = ] fUsePattern

Determina si los caracteres _, %, [y ] se interpretan como caracteres comodín. Los valores válidos son 0 (la coincidencia de patrones está desactivada) y 1 (la coincidencia de patrones está activada). @fUsePattern es bit, con un valor predeterminado de 1.

Valores de código de retorno

Ninguno.

Conjunto de resultados

Nombre de la columna Tipo de datos Descripción
TABLE_CAT sysname Nombre del calificador de la tabla. Varios productos de DBMS admiten la nomenclatura de tres partes para tablas (<qualifier>.<owner>.<name>). En SQL Server, esta columna representa el nombre de la base de datos. En algunos productos, representa el nombre de servidor del entorno de base de datos de la tabla. Este campo puede ser NULL.
TABLE_SCHEM sysname Nombre del propietario. 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 de usuario de base de datos al que se le conceden permisos en TABLE_NAME la lista GRANTEE. En SQL Server, esta columna siempre es la misma que .TABLE_OWNER Este campo siempre devuelve un valor. Además, la GRANTOR columna puede ser el propietario de la base de datos (TABLE_OWNER) o un usuario al que el propietario de la base de datos concedió permiso mediante la WITH GRANT OPTION cláusula en la GRANT instrucción .
GRANTEE sysname Nombre de usuario de base de datos al que se le han concedido permisos en este TABLE_NAME objeto por el enumerado GRANTOR. 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 varias de las columnas.

INSERT = GRANTEE puede proporcionar datos para nuevas filas para una o varias de las columnas.

UPDATE = GRANTEE puede modificar los datos existentes para una o varias 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 de clave principal o clave externa. En SQL Server, las relaciones de clave principal/clave externa se definen mediante restricciones de tabla.

El ámbito de acción proporcionado a GRANTEE por un privilegio de tabla específico depende del origen de datos. Por ejemplo, el UPDATE permiso podría permitir que GRANTEE actualice todas las columnas de una tabla en un origen de datos y solo las columnas para las que tenga GRANTOR el permiso UPDATE en otro origen de datos.
IS_GRANTABLE varchar(3) Indica si GRANTEE se permite 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 no se aplica la "concesión con concesión".

Comentarios

Los resultados devueltos se ordenan mediante TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAMEy PRIVILEGE.

Permisos

Es necesario contar con un permiso de tipo SELECT sobre 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 AdventureWorks2022 del servidor vinculado especificado Seattle1. SQL Server se supone que es el servidor vinculado.

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