Condividi tramite


sp_table_privileges (Transact-SQL)

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure

Restituisce un elenco di autorizzazioni di tabella , ad esempio INSERT, DELETEUPDATE, SELECT, REFERENCESper la tabella o le tabelle specificate.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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'

Tabella utilizzata per restituire informazioni sul catalogo. @table_name è nvarchar(384), senza impostazione predefinita. La ricerca con caratteri jolly è supportata.

[ @table_owner = ] N'table_owner'

Proprietario della tabella utilizzata per restituire informazioni sul catalogo. @table_owner è nvarchar(384), con il valore predefinito NULL. La ricerca con caratteri jolly è supportata. Se il proprietario non è specificato, si applicano le regole di visibilità della tabella predefinite del sistema DBMS sottostante.

Se l'utente corrente è il proprietario di una tabella con il nome specificato, vengono restituite le colonne di tale tabella. Se il proprietario non è specificato e l'utente corrente non è proprietario di una tabella con il nome specificato, questa procedura cerca una tabella con il table_name specificato di proprietà del proprietario del database. Se viene individuata, vengono restituite le colonne di tale tabella.

[ @table_qualifier = ] N'table_qualifier'

Nome del qualificatore di tabella. @table_qualifier è sysname, con un valore predefinito .NULL Vari prodotti DBMS supportano la denominazione in tre parti per le tabelle (qualifier.owner.name). In SQL Server questa colonna rappresenta il nome del database. In altri prodotti rappresenta il nome del server dell'ambiente di database della tabella.

[ @fUsePattern = ] fUsePattern

Determina se i caratteri di sottolineatura (_), percent (%) e parentesi quadre ([ o ]) vengono interpretati come caratteri jolly. I valori validi sono 0 (la corrispondenza dei criteri è disattivata) e 1 (la corrispondenza dei criteri è attivata). @fUsePattern è bit, con un valore predefinito .1

Valori del codice restituito

Nessuno.

Set di risultati

Nome colonna Tipo di dati Descrizione
TABLE_QUALIFIER sysname Nome del qualificatore della tabella. In SQL Server questa colonna rappresenta il nome del database. Questo campo può essere NULL.
TABLE_OWNER sysname Nome del proprietario della tabella. Questo campo restituisce sempre un valore.
TABLE_NAME sysname Nome tabella. Questo campo restituisce sempre un valore.
GRANTOR sysname Nome utente del database a cui sono concesse le autorizzazioni per TABLE_NAME l'oggetto elencato GRANTEE. In SQL Server questa colonna è sempre uguale a TABLE_OWNER. Questo campo restituisce sempre un valore. Inoltre, la colonna GRANTOR potrebbe essere il proprietario del database (TABLE_OWNER) o un utente a cui il proprietario del database ha concesso l'autorizzazione usando la WITH GRANT OPTION clausola nell'istruzione GRANT .
GRANTEE sysname Nome utente del database a cui sono state concesse le autorizzazioni TABLE_NAME da parte dell'oggetto elencato GRANTOR. In SQL Server questa colonna include sempre un utente del database dalla sys.database_principalssystem vista. Questo campo restituisce sempre un valore.
PRIVILEGE sysname Una delle autorizzazioni di tabella disponibili. I possibili valori delle autorizzazioni possono essere quelli seguenti o altri valori supportati dall'origine dati al momento della definizione dell'implementazione:

SELECT = GRANTEE può recuperare i dati per una o più colonne.

INSERT = GRANTEE può fornire dati per le nuove righe per una o più colonne.

UPDATE = GRANTEE può modificare i dati esistenti per una o più colonne.

DELETE = GRANTEE può rimuovere righe dalla tabella.

REFERENCES = GRANTEE può fare riferimento a una colonna in una tabella esterna in una relazione chiave primaria/chiave esterna. In SQL Server le relazioni chiave primaria/chiave esterna vengono definite con vincoli di tabella.

L'ambito dell'azione assegnato a GRANTEE da un determinato privilegio di tabella è dipendente dall'origine dati. Ad esempio, il privilegio potrebbe consentire all'oggetto UPDATE GRANTEE di aggiornare tutte le colonne di una tabella in un'origine dati e solo quelle per le quali ha GRANTOR UPDATE privilegi su un'altra origine dati.
IS_GRANTABLE sysname Indica se l'oggetto GRANTEE è autorizzato o meno a concedere autorizzazioni ad altri utenti (spesso definito "concessione con concessione"). Può essere YES, NO o NULL. Un valore sconosciuto (o NULL) fa riferimento a un'origine dati per la quale "grant with grant" non è applicabile.

Osservazioni:

La sp_table_privileges stored procedure equivale a SQLTablePrivileges in ODBC. I risultati restituiti vengono ordinati in TABLE_QUALIFIERbase a , TABLE_OWNERTABLE_NAME, e PRIVILEGE.

Autorizzazioni

È richiesta SELECT l'autorizzazione per lo schema.

Esempi

Nell'esempio seguente vengono restituite informazioni sui privilegi per tutte le tabelle con nome che inizia con la parola Contact.

USE AdventureWorks2022;
GO
EXEC sp_table_privileges @table_name = 'Contact%';