sp_table_privileges_ex (Transact-SQL)
Aplica-se a: SQL Server
Retorna as informações de privilégio sobre a tabela especificada do servidor vinculado especificado.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_table_privileges_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
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 para a qual fornecer informações de privilégio de tabela. @table_name é sysname, com um padrão de NULL
.
@table_schema [ = ] N'table_schema'
O esquema da tabela. Em alguns ambientes DBMS, é o proprietário 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
.
@fUsePattern [ = ] fUsePattern
Determina se os caracteres _
, %
, [
, e ]
são interpretados como caracteres curinga. Os valores válidos são 0
(a correspondência de padrões está desativada) e 1
(a correspondência de padrões está ativada). @fUsePattern é bit, com um padrão de 1
.
Valores do código de retorno
Nenhum.
Conjunto de resultados
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. |
GRANTOR |
sysname | Nome de usuário do banco de dados que recebeu permissões para o TABLE_NAME GRANTEE . No SQL Server, essa coluna é sempre igual ao TABLE_OWNER . Esse campo sempre retorna um valor. Além disso, a GRANTOR coluna pode ser o proprietário do banco de dados (TABLE_OWNER ) ou um usuário a quem o proprietário do banco de dados concedeu permissão usando a WITH GRANT OPTION GRANT cláusula na instrução. |
GRANTEE |
sysname | Nome de usuário do banco de dados que recebeu permissões sobre isso TABLE_NAME pelo .GRANTOR Esse 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 das colunas.INSERT = GRANTEE pode fornecer dados para novas linhas para uma ou mais colunas.UPDATE = GRANTEE pode modificar os dados existentes para uma ou mais das colunas.DELETE = GRANTEE pode remover linhas da tabela.REFERENCES = GRANTEE pode fazer referência a 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 privilégio por uma tabela específica depende da fonte de dados. Por exemplo, a UPDATE permissão pode permitir a GRANTEE atualização de todas as colunas em uma tabela em uma fonte de dados e apenas as colunas para as quais o GRANTOR tem 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 "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 AdventureWorks2022
do servidor vinculado especificado Seattle1
. O SQL Server é assumido como o servidor vinculado.
EXEC sp_table_privileges_ex @table_server = 'Seattle1',
@table_name = 'Product%',
@table_schema = 'Production',
@table_catalog ='AdventureWorks2022';