sp_column_privileges (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure
Retorna informações de privilégio de coluna para uma única tabela no ambiente atual.
Convenções de sintaxe de 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, as regras de visibilidade de tabela padrão do DBMS (sistema de gerenciamento de banco de dados) subjacente se aplicarão.
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 o table_name especificado, sp_column privilégios procurará uma tabela com o table_name especificado de propriedade 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 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.
[ @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 a coluna não for especificada, todas as colunas serão retornadas. Em SQL Server, column representa o nome da coluna conforme listado na tabela sys.columns. A coluna pode incluir caracteres curinga usando padrões de correspondência curinga 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 em 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 de cada coluna do TABLE_NAME retornado. Esse 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. 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 um usuário ao qual 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 ao qual as permissões neste COLUMN_NAME foram concedidas pelo GRANTEE listado. Em SQL Server, essa 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 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 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 SQL Server, as permissões são concedidas com a instrução GRANT e retiradas pela 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 AdventureWorks2022;
GO
EXEC sp_column_privileges @table_name = 'Employee'
,@table_owner = 'HumanResources'
,@table_qualifier = 'AdventureWorks2022'
,@column_name = 'SalariedFlag';
Consulte Também
GRANT (Transact-SQL)
REVOKE (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de