sp_table_privileges_ex (Transact-SQL)

Retorna as informações de privilégio sobre as tabelas especificadas do servidor vinculado especificado.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_table_privileges_ex [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ]
     [ , [@fUsePattern =] 'fUsePattern']

Argumentos

  • [ @table_server = ] 'table_server'
    É o nome do servidor vinculado para o qual as informações devem ser retornadas. table_server é sysname, sem nenhum padrão.

  • [ @table_name = ] 'table_name']
    É o nome da tabela para a qual as informações de privilégio de tabela devem ser fornecidas. table_name é sysname, com um padrão NULL.

  • [ @table_schema = ] 'table_schema'
    É o esquema de tabela. Em alguns ambientes DBMS, é o proprietário da tabela. table_schema é sysname, com um padrão NULL.

  • [ @table_catalog = ] 'table_catalog'
    É o nome do banco de dados no qual o table_name especificado reside. table_catalog é sysname, com um padrão NULL.

  • [ @fUsePattern =] 'fUsePattern'
    Determina se os caracteres '_', '%', '[' e ']' são interpretados como caracteres curinga. São valores válidos 0 (correspondência de padrão desativada) e 1 (correspondência de padrão ativada). fUsePattern é bit, com um padrão de 1.

Valores de código de retorno

Nenhum

Conjuntos de resultados

Nome da coluna

Tipo de dados

Descrição

TABLE_CAT

sysname

Nome do qualificador de tabela. Diversos produtos de DBMS dão suporte à nomenclatura de três partes para tabelas (qualifier.owner.name). No SQL Server, esta coluna representa o nome do banco de dados. Em alguns produtos, representa o nome do servidor do ambiente de banco de dados da tabela. Este campo pode ser NULL.

TABLE_SCHEM

sysname

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. Este campo sempre retorna um valor.

TABLE_NAME

sysname

Nome da tabela. Este campo sempre retorna um valor.

GRANTOR

sysname

Nome de usuário do banco de dados que concedeu permissões neste TABLE_NAME para o GRANTEElistado. No SQL Server, esta coluna é sempre igual a TABLE_OWNER. Este campo sempre retorna um valor. Além disso, a coluna GRANTOR pode ser o proprietário de banco de dados (TABLE_OWNER) ou um usuário para o qual o proprietário do banco de dados concedeu permissão 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 TABLE_NAME foram concedidas pelo GRANTORlistado. Este campo sempre retorna um valor.

PRIVILEGE

varchar(32)

Uma das permissões de tabela disponíveis. As permissões de tabela podem ter um dos valores a seguir, ou outros valores que tenham suporte na fonte de dados quando a implementação é definida.

SELECT = GRANTEE pode recuperar dados para uma ou mais colunas.

INSERT = GRANTEE pode fornecer dados a novas linhas para uma ou mais colunas.

UPDATE = GRANTEE pode modificar dados existentes para uma ou mais colunas.

DELETE = GRANTEE pode remover linhas da tabela.

REFERENCES = GRANTEE pode referenciar uma coluna em uma tabela estrangeira em uma relação de chave primária/chave estrangeira. No SQL Server, as relações de chave primária/chave estrangeira são definidas usando restrições de tabela.

O escopo de ação dado ao GRANTEE por um privilégio de tabela específico é dependente da fonte de dados. Por exemplo, a permissão UPDATE pode habilitar o GRANTEE a atualizar todas as colunas em uma tabela em uma fonte de dados e somente aquelas colunas para as quais o GRANTOR possui a permissão UPDATE em outra fonte de dados.

IS_GRANTABLE

varchar(3)

Indica se o GRANTEE tem permissão para conceder permissões a outros usuários. Isso é freqüentemente chamado de 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 na qual a "concessão com concessão" não é aplicável.

Comentários

Os resultados retornados são ordenados por TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME e PRIVILEGE.

Permissões

Requer a permissão SELECT no esquema.

Exemplos

O exemplo a seguir retorna as informações de privilégio sobre as tabelas com nomes que começam com Contact no banco de dados AdventureWorks do servidor vinculado especificado Seattle1. (SQL Server é assumido como o servidor vinculado).

EXEC sp_table_privileges_ex @table_server = 'Seattle1', 
   @table_name = 'Contact%', 
   @table_schema = 'Person',
   @table_catalog ='AdventureWorks'