sp_table_privileges (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
Devuelve una lista de permisos de tabla (como INSERT
, DELETE
, UPDATE
, , SELECT
) REFERENCES
para la tabla o tablas especificadas.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_table_privileges
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
[ @table_name = ] N'table_name'
Tabla que se usa para devolver información de catálogo. @table_name es nvarchar(384), sin ningún valor predeterminado. Se admite la coincidencia de patrón de caracteres comodín.
[ @table_owner = ] N'table_owner'
Propietario de la tabla que se usa para devolver información del catálogo. @table_owner es nvarchar(384), con un valor predeterminado de NULL
. Se admite la coincidencia de patrón de caracteres comodín. Si no se especifica el propietario, se aplican las reglas de visibilidad de tabla predeterminadas del DBMS subyacente.
Si el usuario actual posee una tabla con el nombre especificado, se devuelven las columnas de dicha tabla. Si no se especifica el propietario y el usuario actual no posee una tabla con el nombre especificado, este procedimiento busca una tabla con el table_name especificado propiedad del propietario de la base de datos. Si existe una, se devuelven las columnas de esa tabla.
[ @table_qualifier = ] N'table_qualifier'
Nombre del calificador de tabla. @table_qualifier es sysname, con un valor predeterminado de NULL
. Varios productos DBMS admiten en las tablas nombres formados por tres componentes: 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.
[ @fUsePattern = ] fUsePattern
Determina si los caracteres de subrayado (), porcentaje (_
%
) y corchetes ([
o ]
) 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_QUALIFIER |
sysname | Nombre del calificador de la tabla. En SQL Server, esta columna representa el nombre de la base de datos. Este campo puede ser NULL . |
TABLE_OWNER |
sysname | Nombre del propietario. 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 columna GRANTOR 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 . En SQL Server, esta columna siempre incluye un usuario de base de datos de la sys.database_principalssystem vista. Este campo siempre devuelve un valor. |
PRIVILEGE |
sysname | 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 con restricciones de tabla.El ámbito de acción proporcionado a GRANTEE por un privilegio de tabla determinado depende del origen de datos. Por ejemplo, el UPDATE privilegio podría permitir GRANTEE actualizar todas las columnas de una tabla en un origen de datos y solo las columnas para las que tiene GRANTOR UPDATE privilegios en otro origen de datos. |
IS_GRANTABLE |
sysname | Indica si se permite o no GRANTEE conceder permisos a otros usuarios (a menudo denominado "conceder con permiso de concesión"). Puede ser YES , NO o NULL . Un valor desconocido (o NULL ) hace referencia a un origen de datos para el que no se aplica la "concesión con concesión". |
Comentarios
El sp_table_privileges
procedimiento almacenado es equivalente a SQLTablePrivileges
en ODBC. Los resultados devueltos se ordenan mediante TABLE_QUALIFIER
, TABLE_OWNER
, TABLE_NAME
y PRIVILEGE
.
Permisos
Es necesario contar con un permiso de tipo SELECT
sobre el esquema.
Ejemplos
El siguiente ejemplo devuelve información de privilegios de todas las tablas cuyos nombres comiencen por la palabra Contact
.
USE AdventureWorks2022;
GO
EXEC sp_table_privileges @table_name = 'Contact%';