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
, DELETE
UPDATE
, SELECT
, REFERENCES
per 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_QUALIFIER
base a , TABLE_OWNER
TABLE_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%';