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_NAMECOLUMN_NAME, e PRIVILEGETABLE_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';