sp_table_privileges_ex (Transact-SQL)
Retorna as informações de privilégio sobre as tabelas especificadas do servidor vinculado especificado.
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 é frequentemente 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 Product no banco de dados AdventureWorks2008R2 do servidor vinculado especificado Seattle1. (SQL Server é assumido como o servidor vinculado).
EXEC sp_table_privileges_ex @table_server = 'Seattle1',
@table_name = 'Product%',
@table_schema = 'Production',
@table_catalog ='AdventureWorks2008R2';