sp_column_privileges_ex (Transact-SQL)
Aplica-se: SQL Server
Retorna os privilégios de coluna para a tabela especificada no servidor vinculado especificado.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_column_privileges_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @column_name = ] N'column_name' ]
[ ; ]
Argumentos
@table_server [ = ] N'table_server'
O nome do servidor vinculado para o qual as informações serão retornadas. @table_server é sysname, sem padrão.
[ @table_name = ] N'table_name'
O nome da tabela que contém a coluna especificada. @table_name é sysname, com um padrão de NULL
.
@table_schema [ = ] N'table_schema'
O esquema da tabela. @table_schema é sysname, com um padrão de NULL
.
@table_catalog [ = ] N'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 [ = ] N'column_name'
O nome da coluna para a qual fornecer informações de privilégio. @column_name é sysname, com um padrão de NULL
(all common).
Conjunto de resultados
A tabela a seguir mostra as colunas do conjunto de resultados. Os resultados retornados são ordenados por TABLE_QUALIFIER
, , , TABLE_NAME
COLUMN_NAME
, e PRIVILEGE
TABLE_OWNER
.
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
TABLE_CAT |
sysname | Nome do qualificador de tabela. Vários produtos DBMS suportam nomenclatura de três partes para tabelas (<qualifier>.<owner>.<name> ). No 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. Este campo pode ser NULL . |
TABLE_SCHEM |
sysname | O 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. 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 do TABLE_NAME retornado. Esse campo sempre retorna um valor. |
GRANTOR |
sysname | Nome de usuário do banco de dados que recebeu permissões para o COLUMN_NAME .GRANTEE No SQL Server, essa coluna é sempre igual ao TABLE_OWNER . Esse campo sempre retorna um valor.A GRANTOR coluna pode ser o proprietário do banco de dados (TABLE_OWNER ) ou alguém a quem o proprietário do banco de dados concedeu permissões usando a WITH GRANT OPTION cláusula na GRANT instrução. |
GRANTEE |
sysname | Nome de usuário do banco de dados que recebeu permissões sobre isso COLUMN_NAME pelo .GRANTOR 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 GRANTEE (pelo ) 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 com restrições de tabela. |
IS_GRANTABLE |
varchar(3) | Indica se o GRANTEE tem permissão para conceder permissões a outros usuários (geralmente chamado de permissão "conceder com concessão"). Pode ser SIM, NÃO ou NULL . Um valor desconhecido ou NULL , refere-se a uma fonte de dados em que "grant with grant" não é aplicável. |
Permissões
Requer a 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 AdventureWorks2022
do servidor vinculado, Seattle1
.
EXEC sp_column_privileges_ex
@table_server = 'Seattle1',
@table_name = 'Department',
@table_schema = 'HumanResources',
@table_catalog = 'AdventureWorks2022';