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
Base de Dados SQL do Azure
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
sys.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';