Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Devolve informação de privilégio de coluna para uma única tabela no ambiente atual.
Transact-SQL convenções de sintaxe
Sintaxe
sp_column_privileges
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @column_name = ] N'column_name' ]
[ ; ]
Arguments
[ @table_name = ] N'table_name'
A tabela usada para devolver a informação do catálogo. @table_name é sysname, sem padrão. A correspondência de padrões coringa não é suportada.
[ @table_owner = ] N'table_owner'
O proprietário da mesa costumava devolver informações do catálogo.
@table_owner é sysname, com o padrão de NULL. A correspondência de padrões coringa não é suportada. Se @table_owner não for especificado, aplicam-se as regras padrão de visibilidade de tabelas do sistema de gestão de bases de dados (SGBD) subjacente.
Se o utilizador atual possuir uma tabela com o nome especificado, as colunas dessa tabela são devolvidas. Se @table_owner não for especificado e o utilizador atual não possuir uma tabela com a @table_name especificada, sp_column os privilégios procuram uma tabela com a @table_name especificada pertencente ao proprietário da base de dados. Se existir, as colunas dessa tabela são devolvidas.
[ @table_qualifier = ] N'table_qualifier'
O nome do qualificador da tabela.
@table_qualifier é sysname, com um padrão de NULL. Vários produtos SGBD suportam a nomenclatura em três partes para tabelas (<qualifier>.<owner>.<name>). No SQL Server, esta coluna representa o nome da base de dados. Em alguns produtos, representa o nome do servidor do ambiente de base de dados da tabela.
[ @column_name = ] N'column_name'
Uma única coluna é usada quando apenas uma coluna de informação do catálogo está a ser obtida.
@column_name é nvarchar(384), com um padrão de NULL. Se @column_name não for especificado, todas as colunas são devolvidas. No SQL Server, @column_name representa o nome da coluna conforme listado na sys.columns tabela.
@column_name podem incluir caracteres coringa usando padrões de correspondência de curingas do SGBD subjacente. Para máxima interoperabilidade, o cliente gateway deve assumir apenas a correspondência de padrões padrão ISO (os % caracteres coringa e _ wildcard).
Conjunto de resultados
sp_column_privileges é equivalente a SQLColumnPrivileges em ODBC. Os resultados devolvidos são ordenados por TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME, e PRIVILEGE.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Nome do qualificador da tabela. Este campo pode ser NULL. |
TABLE_OWNER |
sysname | Nome do dono da mesa. Este campo devolve sempre um valor. |
TABLE_NAME |
sysname | Nome da tabela. Este campo devolve sempre um valor. |
COLUMN_NAME |
sysname | Nome da coluna, para cada coluna do TABLE_NAME devolvido. Este campo devolve sempre um valor. |
GRANTOR |
sysname | Nome de utilizador da base de dados que recebeu permissões sobre isto COLUMN_NAME para a lista GRANTEE. No SQL Server, esta coluna é sempre a mesma que o TABLE_OWNER. Este campo devolve sempre um valor.A GRANTOR coluna pode ser o proprietário da base de dados (TABLE_OWNER) ou um utilizador a quem o proprietário da base de dados concedeu permissões ao usar a WITH GRANT OPTION cláusula na GRANT instrução. |
GRANTEE |
sysname | Nome de utilizador da base de dados que recebeu permissões sobre isto COLUMN_NAME pelo nome listado GRANTOR. No SQL Server, esta coluna inclui sempre um utilizador da base de dados da sysusers tabela. Este campo devolve sempre um valor. |
PRIVILEGE |
varchar(32) | Uma das permissões de coluna disponíveis. As permissões de coluna podem ser um dos seguintes valores (ou outros valores suportados pela 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 numa tabela estrangeira numa relação chave primária/chave estrangeira. As relações chave primária/chave estrangeira são definidas usando restrições de tabela. |
IS_GRANTABLE |
Varchar(3) | Indica se é GRANTEE permitido conceder permissões a outros utilizadores (frequentemente referido como "conceder com autorização"). Pode ser YES, NO, ou NULL. Um valor desconhecido, ou NULL, refere-se a uma fonte de dados para a qual "subvenção com subsídio" não se aplica. |
Observações
Com o SQL Server, as permissões são concedidas com a GRANT instrução e retiradas pela REVOKE instrução.
Permissions
Requer SELECT permissão no esquema.
Examples
O exemplo seguinte devolve informação de privilégio de coluna para uma coluna específica.
USE AdventureWorks2022;
GO
EXECUTE sp_column_privileges
@table_name = 'Employee',
@table_owner = 'HumanResources',
@table_qualifier = 'AdventureWorks2022',
@column_name = 'SalariedFlag';