sp_column_privileges_ex (Transact-SQL)

Devuelve privilegios de columna para la tabla especificada del servidor vinculado indicado.

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

Sintaxis

sp_column_privileges_ex [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ] 
     [ , [ @column_name = ] 'column_name' ]

Argumentos

  • [ @table_server = ] 'table_server'
    Es el nombre del servidor vinculado del 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 que contiene la columna especificada. table_name es de tipo sysname y su valor predeterminado es NULL.

  • [ @table_schema = ] 'table_schema'
    Es el esquema 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 la que reside el table_name especificado. table_catalog es de tipo sysname y su valor predeterminado es NULL.

  • [ @column_name = ] 'column_name'
    Es el nombre de la columna para la que se va a proporcionar información acerca de los privilegios. column_name es de tipo sysname y su valor predeterminado es NULL (común para todos).

Conjuntos de resultados

En la siguiente tabla se muestran las columnas del conjunto de resultados. 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_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 2008, 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.

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 para 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 para COLUMN_NAME. 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 con 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 en el que no se aplica “conceder por concesión”.

Permisos

Requiere el permiso SELECT en el esquema.

Ejemplos

En el siguiente ejemplo se devuelve información de privilegios de columna de la tabla HumanResources.Department de la base de datos AdventureWorks2008R2 del servidor vinculado Seattle1.

EXEC sp_column_privileges_ex @table_server = 'Seattle1', 
   @table_name = 'Department', 
   @table_schema = 'HumanResources',
   @table_catalog ='AdventureWorks2008R2';