sp_column_privileges_ex (Transact-SQL)
Retorna os privilégios de coluna para a tabela especificada no servidor vinculado especificado.
Convenções da 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.[ @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 de 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 (tudo comum).
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 de tabelas (qualifier.owner.name). No SQL Server, 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 GRANTEElistado. No SQL Server, esta 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 (em geral, referida 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 AdventureWorks2012 do servidor vinculado, Seattle1.
EXEC sp_column_privileges_ex @table_server = 'Seattle1',
@table_name = 'Department',
@table_schema = 'HumanResources',
@table_catalog ='AdventureWorks2012';