Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Devolve uma lista de permissões de tabela (como INSERT, DELETE, UPDATE, SELECT, ) REFERENCESpara a tabela ou tabelas especificadas.
Transact-SQL convenções de sintaxe
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 devolver a informação do catálogo. @table_name é nvarchar(384), sem padrão. É suportada a correspondência de padrões wildcard.
[ @table_owner = ] N'table_owner'
O proprietário da mesa era usado para devolver a informação do catálogo.
@table_owner é nvarchar(384), com um padrão de NULL. É suportada a correspondência de padrões wildcard. Se o proprietário não for especificado, aplicam-se as regras padrão de visibilidade da tabela do SGBD subjacente.
Se o utilizador atual possuir uma tabela com o nome especificado, as colunas dessa tabela são devolvidas. Se o proprietário não for especificado e o utilizador atual não possuir uma tabela com o nome especificado, este procedimento procura uma tabela com o table_name especificado pertencente ao proprietário da base de dados. Se existir, as colunas dessa tabela são devolvidas.
[ @table_qualifier = ] N'table_qualifier'
O nome do qualificador da tabela.
@table_qualifier é sysname, com um padrão de NULL. Vários produtos de SGBD suportam a nomenclatura em três partes para tabelas (qualifier.owner.name). No SQL Server, esta coluna representa o nome da base de dados. Em alguns produtos, representa o nome do servidor do ambiente de base de dados da tabela.
[ @fUsePattern = ] fUsePattern
Determina se os caracteres sublinhado (_), percent (%) e parênteses ([ ou ]) são interpretados como caracteres curinga. Os valores válidos são 0 (a correspondência de padrões está desligada) e 1 (a correspondência de padrões está ativada).
@fUsePattern é bit, com um padrão de 1.
Valores de código de retorno
Nenhum.
Conjunto de resultados
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Nome do qualificador da tabela. No SQL Server, esta coluna representa o nome da base de dados. Este campo pode ser NULL. |
TABLE_OWNER |
sysname | Nome do dono da mesa. Este campo devolve sempre um valor. |
TABLE_NAME |
sysname | Nome da tabela. Este campo devolve sempre um valor. |
GRANTOR |
sysname | Nome de utilizador da base de dados que concedeu permissões sobre isto TABLE_NAME para a lista GRANTEE. No SQL Server, esta coluna é sempre a mesma que o TABLE_OWNER. Este campo devolve sempre um valor. Além disso, a coluna GRANTOR pode ser o proprietário da base de dados (TABLE_OWNER) ou um utilizador a quem o proprietário da base de dados concedeu permissão ao usar a WITH GRANT OPTION cláusula na GRANT instrução. |
GRANTEE |
sysname | Nome de utilizador da base de dados que recebeu permissões sobre isto TABLE_NAME pela lista GRANTORde . No SQL Server, esta coluna inclui sempre um utilizador da base de dados da sys.database_principalssystem vista. Este campo devolve sempre um valor. |
PRIVILEGE |
sysname | Uma das permissões disponíveis para tabelas. As permissões de tabela podem ser um dos seguintes valores (ou outros valores suportados pela fonte de dados quando a implementação é definida):SELECT
=
GRANTEE pode recuperar dados de uma ou mais das colunas.INSERT
=
GRANTEE pode fornecer dados para novas linhas para uma ou mais das 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 numa tabela estrangeira numa relação chave primária/chave estrangeira. No SQL Server, as relações chave primária/chave estrangeira são definidas com restrições de tabela.O âmbito da ação dado GRANTEE por um dado privilégio de tabela depende da fonte de dados. Por exemplo, o UPDATE privilégio pode permitir que atualize GRANTEE todas as colunas de uma tabela numa fonte de dados e apenas aquelas para as quais GRANTOR tem UPDATE privilégio noutra fonte de dados. |
IS_GRANTABLE |
sysname | Indica se é GRANTEE permitido conceder permissões a outros utilizadores (frequentemente referido como "conceder com autorizaçã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. |
Observações
O sp_table_privileges procedimento armazenado é equivalente a SQLTablePrivileges no ODBC. Os resultados devolvidos estão ordenados por TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, e PRIVILEGE.
Permissions
Requer SELECT permissão no esquema.
Examples
O exemplo seguinte devolve informação de privilégio sobre todas as tabelas cujos nomes começam com a palavra Contact.
USE AdventureWorks2022;
GO
EXECUTE sp_table_privileges @table_name = 'Contact%';