Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do
AzureInstância
Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric
Retorna uma lista de permissões de tabela (como INSERT, DELETE, , UPDATESELECT, 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 de 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 pertencente ao 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 sublinhado (_), porcentagem (%) e colchete ([ ou ]) 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_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 recebeu permissões para o TABLE_NAMEGRANTEE. No SQL Server, essa coluna é sempre igual ao TABLE_OWNER. Esse campo sempre retorna um valor. Além disso, a coluna GRANTOR 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 OPTIONGRANT 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 No SQL Server, essa coluna sempre inclui um usuário de banco de dados da sys.database_principalssystem 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 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 com restrições de tabela.O escopo de ação dado ao privilégio por uma determinada tabela depende da GRANTEE fonte de dados. Por exemplo, o UPDATE privilégio pode permitir que o GRANTEE atualize todas as colunas em uma tabela em uma fonte de dados e apenas as colunas para as quais o GRANTOR tem UPDATE privilégio em outra fonte de 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 "grant with grant" não é aplicável. |
Comentários
O sp_table_privileges procedimento armazenado é equivalente ao SQLTablePrivileges 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
EXECUTE sp_table_privileges @table_name = 'Contact%';