Compartilhar via


sp_column_privileges_ex (Transact-SQL)

Aplica-se a: SQL Server

Retorna os privilégios de coluna para a tabela especificada no servidor vinculado especificado.

Convenções de sintaxe de Transact-SQL

Sintaxe

  
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' É o nome do servidor vinculado para o qual as informações serão retornadas. table_server é sysname, sem padrão.

[ @table_name = ] 'table_name' É o nome da tabela que contém a coluna especificada. table_name é sysname, com um padrão de NULL.

[ @table_schema = ] 'table_schema' É o esquema da tabela. table_schema é sysname, com um padrão de NULL.

[ @table_catalog = ] 'table_catalog'É o nome do banco de dados no qual o table_name especificado reside. table_catalog é sysname, com um padrão de NULL.

[ @column_name = ] 'column_name' É o nome da coluna para a qual fornecer informações de privilégio. column_name é sysname, com um padrão de NULL (todos comuns).

Conjuntos de resultados

A tabela a seguir mostra as colunas do conjunto de resultados. Os resultados retornados são ordenados por TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME e PRIVILEGE.

Nome da coluna Tipo de dados Descrição
TABLE_CAT sysname Nome do qualificador de tabela. Vários produtos de DBMS dão suporte à nomeação de três partes de tabelas (qualifier.owner.name). No SQL Server, essa coluna representa o nome do banco de dados. Em alguns produtos, ele representa o nome do servidor do ambiente de banco de dados da tabela. Esse campo pode ser NULL.
TABLE_SCHEM sysname O nome do proprietário da tabela. No SQL Server, esta coluna representa o nome do usuário de banco de dados que criou a tabela. Esse campo sempre retorna um valor.
TABLE_NAME sysname Nome da tabela. Esse campo sempre retorna um valor.
COLUMN_NAME sysname Nome de cada coluna do TABLE_NAME retornado. Esse campo sempre retorna um valor.
CONCEDENTE sysname O nome de usuário do banco de dados que concedeu permissões neste COLUMN_NAME ao GRANTEE listado. No SQL Server, essa coluna é sempre igual à TABLE_OWNER. Esse campo sempre retorna um valor.

A coluna GRANTOR pode ser o proprietário do banco de dados (TABLE_OWNER) ou alguém a quem o proprietário do banco de dados concedeu permissões usando a cláusula WITH GRANT OPTION na instrução GRANT.
BENEFICIÁRIO sysname Nome de usuário do banco de dados que recebeu permissões neste COLUMN_NAME pelo OUTORGADOR listado. Esse campo sempre retorna um valor.
PRIVILÉGIO varchar(32) Uma das permissões de coluna disponíveis. As permissões de coluna podem ter um dos seguintes valores (ou outros valores que tenham suporte na fonte de dados quando a implementação é definida):

SELECT = GRANTEE pode recuperar dados para as colunas.

INSERT = GRANTEE pode fornecer dados para esta coluna quando novas linhas são inseridas (pelo GRANTEE) na tabela.

UPDATE = GRANTEE pode modificar os dados existentes na coluna.

REFERENCES = GRANTEE pode fazer referência a uma coluna em uma tabela estrangeira em uma relação de chave primária/chave estrangeira. As relações de chave primária/chave estrangeira são definidas com restrições de tabela.
IS_GRANTABLE varchar(3) Indica se o DESTINATÁRIO tem permissão para conceder permissões a outros usuários (geralmente chamado de permissão "conceder com conceder"). Pode ser YES, NO ou NULL. Um valor desconhecido ou NULL refere-se a uma fonte de dados em que "grant with grant" não é aplicável.

Permissões

Requer a permissão SELECT no esquema.

Exemplos

O exemplo a seguir retorna informações de privilégio de coluna para a tabela HumanResources.Department no banco de dados AdventureWorks2022 do servidor vinculado, Seattle1.

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

Confira também

sp_table_privileges_ex (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)