Share via


sp_column_privileges_ex (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de sintaxe 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 devem ser retornadas. table_server é sysname, sem padrão definido.

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

  • [ @table_schema = ] 'table_schema'
    É o esquema da tabela. table_schema é sysname, com um padrão 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 NULL.

  • [ @column_name = ] 'column_name'
    É o nome da coluna para a qual as informações de privilégio devem ser fornecidas. column_name é sysname, com um padrão NULL (todas as 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. Diversos produtos de DBMS dão suporte à nomenclatura de três partes para tabelas (qualifier.owner.name). No SQL Server 2008, esta coluna representa o nome do banco de dados. Em alguns produtos, representa o nome do servidor do ambiente de banco de dados da tabela. Este campo pode ser NULL.

TABLE_SCHEM

sysname

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. Este campo sempre retorna um valor.

TABLE_NAME

sysname

Nome da tabela. Este campo sempre retorna um valor.

COLUMN_NAME

sysname

Nome de cada coluna do TABLE_NAME retornado. Este campo sempre retorna um valor.

GRANTOR

sysname

Nome de usuário do banco de dados que concedeu permissões neste COLUMN_NAME para o GRANTEE listado. No SQL Server, essa coluna é sempre igual a TABLE_OWNER. Este campo sempre retorna um valor.

A coluna GRANTOR pode ser o proprietário do banco de dados (TABLE_OWNER) ou alguém para quem o proprietário do banco de dados concedeu permissões com o uso da cláusula WITH GRANT OPTION na instrução GRANT.

GRANTEE

sysname

O nome de usuário do banco de dados ao qual as permissões neste COLUMN_NAME foram concedidas pelo GRANTOR listado. Este campo sempre retorna um valor.

PRIVILEGE

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 referenciar 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 GRANTEE tem permissão para conceder permissões a outros usuários (em geral, referenciada como permissão de "concessão com concessão"). Pode ser YES, NO ou NULL. Um valor desconhecido ou NULL refere-se a uma fonte de dados na qual a "concessão com concessão" não é aplicável.

Permissões

Requer 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 AdventureWorks2008R2 do servidor vinculado, Seattle1.

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