Share via


sp_column_privileges (Transact-SQL)

Devuelve información acerca de los privilegios de columna de una tabla del entorno actual.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_column_privileges [ @table_name = ] 'table_name' 
     [ , [ @table_owner = ] 'table_owner' ] 
     [ , [ @table_qualifier = ] 'table_qualifier' ] 
     [ , [ @column_name = ] 'column' ]

Argumentos

[ @table_name = ] 'table_name'

Es la tabla que se utiliza para devolver información acerca del catálogo. table_name es de tipo sysname y no tiene valor predeterminado. No se admite la coincidencia de patrón de caracteres comodín.

[ @table_owner = ] 'table_owner'

Es el propietario de la tabla utilizada para devolver información acerca del catálogo. table_owner es de tipo sysname y su valor predeterminado es NULL. No se admite la coincidencia de patrón de caracteres comodín. Si no se especifica el parámetro table_owner, se aplican las reglas predeterminadas de visibilidad de tabla del sistema de administración de bases de datos (DBMS) subyacente.

En SQL Server 2005, si el usuario actual es propietario de una tabla con el nombre especificado, se devuelven las columnas de esa tabla. Si no se especifica el parámetro table_owner y el usuario actual no es propietario de ninguna tabla con el parámetro table_name especificado, sp_column privileges buscará una tabla con el parámetro table_name especificado que pertenezca al propietario de la base de datos. Si hay una, se devuelven las columnas de esa tabla.

[ @table_qualifier = ] 'table_qualifier'

Es el nombre del calificador de la tabla. table_qualifier es de tipo sysname y su valor predeterminado es NULL. Varios productos DBMS son compatibles con la nomenclatura 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.

[ @column_name = ] 'column'

Es una única columna que se utiliza cuando sólo se va a obtener una columna de información acerca del catálogo. column es de tipo nvarchar(384) y su valor predeterminado es NULL. Si no se especifica el parámetro column, se devolverán todas las columnas. En SQL Server, column representa el nombre de la columna tal y como aparece en la tabla sys.columns. column puede incluir caracteres comodín mediante patrones de coincidencia de caracteres comodín del DBMS subyacente. Para obtener una interoperabilidad máxima, el cliente de puerta de enlace sólo debe dar por supuesta la coincidencia de patrón estándar de SQL-92 (caracteres comodín % y _).

Conjuntos de resultados

sp_column_privileges equivale a SQLColumnPrivileges en ODBC. Los resultados devueltos se ordenan por TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME y PRIVILEGE.

Nombre de columna Tipo de datos Descripción

TABLE_QUALIFIER

sysname

Nombre del calificador de la tabla. Este campo puede ser NULL.

TABLE_OWNER

sysname

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

TABLE_NAME

sysname

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

COLUMN_NAME

sysname

Nombre de columna por cada columna devuelta de TABLE_NAME. Este campo siempre devuelve un valor.

GRANTOR

sysname

Nombre del usuario de la base de datos que ha concedido permisos en COLUMN_NAME al GRANTEE presentado. En SQL Server, esta columna es siempre la misma que en TABLE_OWNER. Este campo siempre devuelve un valor.

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 le haya concedido permisos mediante la cláusula WITH GRANT OPTION en la instrucción GRANT.

GRANTEE

sysname

Nombre del usuario de la base de datos al que el GRANTOR presentado le ha concedido permisos en COLUMN_NAME. En SQL Server, esta columna incluye siempre un usuario de la base de datos de la tabla sysusers. Este campo siempre devuelve un valor.

PRIVILEGE

varchar(32)

Uno de los permisos de columna disponibles. Los permisos de columna pueden ser uno de los valores siguientes (u otros valores compatibles con el origen de datos cuando se define la implementación):

SELECT = GRANTEE puede recuperar datos de las columnas.

INSERT = GRANTEE puede proporcionar datos para esta columna cuando se inserten nuevas filas (por parte de GRANTEE) en la tabla.

UPDATE = GRANTEE puede modificar datos existentes en la columna.

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

IS_GRANTABLE

varchar(3)

Indica si se permite que GRANTEE conceda permisos a otros usuarios (a menudo se hace referencia a esta operación como permiso “conceder por concesión”). Puede ser YES, NO o NULL. Un valor desconocido, o NULL, hace referencia a un origen de datos para el que “conceder por concesión” no se aplica.

Notas

Con SQL Server, los permisos se conceden mediante la instrucción GRANT y se retiran mediante la instrucción REVOKE.

Permisos

Requiere el permiso SELECT en el esquema.

Ejemplos

En el siguiente ejemplo se devuelve información acerca de privilegios de columna de una tabla específica.

USE AdventureWorks;
GO
EXEC sp_column_privileges @table_name = 'Employee', 
   @table_owner = 'HumanResources', 
   @table_qualifier = 'AdventureWorks',
   @column_name = 'SalariedFlag'

Vea también

Referencia

GRANT (Transact-SQL)
REVOKE (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)

Otros recursos

Consultas distribuidas

Ayuda e información

Obtener ayuda sobre SQL Server 2005