sp_table_privileges (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure
Retorna uma lista de permissões de tabela (como INSERT
, , , UPDATE
DELETE
, SELECT
) REFERENCES
para a tabela ou tabelas especificadas.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_table_privileges
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
[ @table_name = ] N'table_name'
A tabela usada para retornar informações do catálogo. @table_name é nvarchar(384), sem padrão. Há suporte para a correspondência do padrão curinga.
@table_owner [ = ] N'table_owner'
O proprietário da tabela usada para retornar informações de catálogo. @table_owner é nvarchar(384), com um padrão de NULL
. Há suporte para a correspondência do padrão curinga. Se o proprietário não for especificado, as regras de visibilidade de tabela padrão do DBMS subjacente serão aplicadas.
Se o usuário atual possuir uma tabela com o nome especificado, as colunas dessa tabela serão retornadas. Se o proprietário não for especificado e o usuário atual não possuir uma tabela com o nome especificado, este procedimento procurará uma tabela com o table_name especificado de propriedade do proprietário do banco de dados. Caso exista, as colunas dessa tabela serão retornadas.
@table_qualifier [ = ] N'table_qualifier'
O nome do qualificador de tabela. @table_qualifier é sysname, com um padrão de NULL
. Vários produtos de DBMS dão suporte à nomeação de três partes de 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.
@fUsePattern [ = ] fUsePattern
Determina se os caracteres de sublinhado (), porcentagem () e colchete (_
%
[
ou ]
) são interpretados como caracteres curinga. Os valores válidos são 0
(a correspondência de padrão está desativada) e 1
(a correspondência de padrão 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_QUALIFIER |
sysname | Nome do qualificador de tabela. No SQL Server, essa coluna representa o nome do banco de dados. Este campo pode ser NULL . |
TABLE_OWNER |
sysname | O nome do proprietário da 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 concedeu permissões sobre isso TABLE_NAME para o GRANTEE . No SQL Server, essa coluna é sempre a mesma que o TABLE_OWNER . Esse campo sempre retorna um valor. Além disso, a coluna CONCEDENTE pode ser o proprietário do banco de dados (TABLE_OWNER ) ou um usuário ao qual o proprietário do banco de dados concedeu permissão usando a WITH GRANT OPTION cláusula na GRANT instrução. |
GRANTEE |
sysname | Nome de usuário do GRANTOR banco de dados que recebeu permissões sobre isso TABLE_NAME pelo . No SQL Server, essa coluna sempre inclui um usuário de banco de dados do sys.database_principalssystem modo de exibição. Esse campo sempre retorna um valor. |
PRIVILEGE |
sysname | Uma das permissões de tabela disponíveis. As permissões de tabela podem ter um dos seguintes valores (ou outros valores que tenham suporte na fonte de dados quando a implementação for 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 dados existentes para uma ou mais 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 com restrições de tabela.O escopo da ação dado ao GRANTEE privilégio por uma determinada tabela é dependente da fonte de dados. Por exemplo, o privilégio pode permitir a atualização de todas as colunas em uma tabela em uma fonte de dados e somente as colunas para as quais o UPDATE GRANTOR privilégio tem UPDATE em outra fonte de GRANTEE dados. |
IS_GRANTABLE |
sysname | Indica se o GRANTEE tem ou não permissão para conceder permissões a outros usuários (geralmente chamado de permissão "conceder com concessão"). Pode ser YES , NO ou NULL . Um valor desconhecido (ou NULL ) refere-se a uma fonte de dados para a qual "concessão com concessão" não é aplicável. |
Comentários
O sp_table_privileges
procedimento armazenado é equivalente a SQLTablePrivileges
em ODBC. 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 informações de privilégio sobre todas as tabelas com nomes que iniciem com a palavra Contact
.
USE AdventureWorks2022;
GO
EXEC sp_table_privileges @table_name = 'Contact%';
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de