sp_column_privileges (Transact-SQL)
Retorna informações de privilégio de coluna para uma única tabela no ambiente atual.
Convenções da sintaxe Transact-SQL
Sintaxe
sp_column_privileges [ @table_name = ] 'table_name'
[ , [ @table_owner = ] 'table_owner' ]
[ , [ @table_qualifier = ] 'table_qualifier' ]
[ , [ @column_name = ] 'column' ]
Argumentos
[ @table\_name= ] 'table_name'
É a tabela usada para retornar informações do catálogo. table_name é sysname, sem padrão. Não há suporte para a correspondência de padrão curinga.[ @table\_owner= ] 'table_owner'
É o proprietário da tabela usada para retornar informações do catálogo. table_owner é sysname, com um padrão de NULL. Não há suporte para a correspondência de padrão curinga. Se table_owner não for especificado, serão aplicadas as regras de visibilidade de tabela padrão do DBMS (sistema de gerenciamento de banco de dados) subjacente.Se o usuário atual possuir uma tabela com o nome especificado, as colunas dessa tabela serão retornadas. Se table_owner não for especificado e o usuário atual não possuir uma tabela com table_name especificado, sp_column privileges procurará uma tabela com table_name especificado que seja do proprietário do banco de dados. Se ela existir, as colunas dessa tabela serão retornadas.
[ @table\_qualifier= ] 'table_qualifier'
É o nome do qualificador da tabela. table_qualifier é sysname, com um padrão de NULL. Vários produtos de DBMS oferecem suporte à nomeação 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.[ @column\_name= ] 'column'
É uma única coluna usada quando somente uma coluna de informações do catálogo é obtida. column é nvarchar(384), com um padrão de NULL. Se column não for especificado, todas as colunas serão retornadas. No SQL Server, column representa o nome da coluna listada na tabela sys.columns. column pode incluir caracteres curinga que usam padrões de correspondência de curingas do DBMS subjacente. Para obter a interoperabilidade máxima, o cliente de gateway deve pressupor correspondência apenas do padrão ISO (curingas com % e _).
Conjuntos de resultados
sp_column_privileges é equivalente a SQLColumnPrivileges no ODBC. 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_QUALIFIER |
sysname |
Nome do qualificador de tabela. Esse campo pode ser NULL. |
TABLE_OWNER |
sysname |
Nome do proprietário da 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 retornada de TABLE_NAME. Esse campo sempre retorna um valor. |
GRANTOR |
sysname |
Nome do usuário do banco de dados que concedeu permissões nesse COLUMN_NAME para o GRANTEE listado. No SQL Server, essa coluna é sempre igual a TABLE_OWNER. Esse campo sempre retorna um valor. A coluna GRANTOR pode ser o proprietário do banco de dados (TABLE_OWNER) ou um usuário para o qual o proprietário do banco de dados concedeu permissões por meio da cláusula WITH GRANT OPTION na instrução GRANT. |
GRANTEE |
sysname |
O nome do usuário do banco de dados ao qual as permissões nesse COLUMN_NAME foram concedidas pelo GRANTOR listado. No SQL Server, esta coluna sempre inclui um usuário de banco de dados da tabela sysusers. Esse 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 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 usando 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 para a qual a "concessão com concessão" não é aplicável. |
Comentários
Com o SQL Server, as permissões são concedidas com a instrução GRANT e retiradas com a instrução REVOKE.
Permissões
Requer a permissão SELECT no esquema.
Exemplos
O exemplo a seguir retorna as informações de privilégio de coluna para uma coluna específica.
USE AdventureWorks2012;
GO
EXEC sp_column_privileges @table_name = 'Employee'
,@table_owner = 'HumanResources'
,@table_qualifier = 'AdventureWorks2012'
,@column_name = 'SalariedFlag';