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 retornar informações. 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 reside o table_name especificado. 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 DBMS dão suporte à nomenclatura de três partes para tabelas (qualificador.proprietário.name). Em 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 Nome do proprietário da tabela. Em SQL Server, essa coluna representa o nome do usuário do 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 da coluna, para 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 para o GRANTEE listado. Em SQL Server, essa coluna é sempre a mesma que a 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.
GRANTEE sysname O nome de usuário do banco de dados que recebeu permissões neste COLUMN_NAME pelo GRANTOR 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 dados existentes na coluna.

REFERENCES = GRANTEE pode referenciar uma coluna em uma tabela estrangeira em uma relação 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 GRANTEE tem permissão para conceder permissões a outros usuários (geralmente chamados de permissão "conceder com concessão"). Pode ser YES, NO ou NULL. Um valor desconhecido ou NULL refere-se a uma fonte de dados em que "concessão com concessão" 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';  

Consulte Também

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