sp_table_privileges (Transact-SQL)
Restituisce un elenco delle autorizzazioni di tabella, ad esempio INSERT, DELETE, UPDATE, SELECT o REFERENCES, per la tabella o le tabelle specificate.
Convenzioni della sintassi Transact-SQL
Sintassi
sp_table_privileges [ @table_name = ] 'table_name'
[ , [ @table_owner = ] 'table_owner' ]
[ , [ @table_qualifier = ] 'table_qualifier' ]
[ , [ @fUsePattern = ] 'fUsePattern' ]
Argomenti
[ @table\_name= ] 'table_name'
Tabella utilizzata per restituire informazioni del catalogo. table_name è di tipo nvarchar(384) e non prevede alcun valore predefinito. I criteri di ricerca con caratteri jolly sono supportati.[ @table\_owner= ] 'table_owner'
Proprietario della tabella utilizzata per restituire informazioni sul catalogo. table_ownerè di tipo nvarchar(384) e il valore predefinito è NULL. Sono supportati criteri di ricerca con caratteri jolly. Se non si specifica il proprietario, vengono applicate 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 owner viene omesso e l'utente corrente non è il proprietario di una tabella con il nome specificato name, viene eseguita la ricerca di una tabella con nome corrispondente a table_name di proprietà del proprietario del database. Se viene individuata, vengono restituite le colonne di tale tabella.
[ @table\_qualifier= ] 'table_qualifier'
Nome del qualificatore di tabella. table_qualifier è di tipo sysname e il valore predefinito è NULL. Vari prodotti DBMS supportano nomi in tre parti per le tabelle, ovvero qualifier.owner.name. In SQL Server questa colonna rappresenta il nome del database. In alcuni prodotti rappresenta il nome del server dell'ambiente di database della tabella.[ @fUsePattern= ] 'fUsePattern'
Determina se i caratteri di sottolineatura (_), percentuale (%) e parentesi quadre ([ o ]) vengono interpretati come caratteri jolly. I valori validi sono 0 (utilizzo dei criteri di ricerca disattivato) e 1 (utilizzo dei criteri di ricerca attivato). fUsePattern è di tipo bit e il valore predefinito è 1.
Valori di codice restituiti
Nessuno
Set di risultati
Nome della 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. In questo campo viene sempre restituito un valore. |
TABLE_NAME |
sysname |
Nome della tabella. Questo campo restituisce sempre un valore. |
GRANTOR |
sysname |
Nome dell'utente del database che ha concesso autorizzazioni all'utente GRANTEE per la tabella TABLE_NAME. In SQL Server questa colonna corrisponde sempre a TABLE_OWNER. Questo campo restituisce sempre un valore. Inoltre, il valore della colonna GRANTOR può essere il proprietario del database (TABLE_OWNER) o un utente a cui il proprietario del database ha concesso l'autorizzazione tramite la clausola WITH GRANT OPTION dell'istruzione GRANT. |
GRANTEE |
sysname |
Nome dell'utente del database a cui l'utente GRANTOR specificato ha concesso autorizzazioni per la tabella TABLE_NAME. In SQL Server questa colonna include sempre un utente di database della vista di sistema sys.database_principals . 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 = L'utente GRANTEE può recuperare dati per una o più colonne. INSERT = L'utente GRANTEE può inserire dati in nuove righe di una o più colonne. UPDATE = L'utente GRANTEE può modificare i dati esistenti di una o più colonne. DELETE = L'utente GRANTEE può rimuovere righe dalla tabella. REFERENCES = L'utente GRANTEE può fare riferimento a una colonna di una tabella della chiave esterna in una relazione chiave primaria/chiave esterna. In SQL Server questo tipo di relazione viene definito tramite vincoli di tabella. L'ambito di azione ottenuto dall'utente GRANTEE tramite un privilegio di tabella specifico dipende dall'origine dati. Il privilegio UPDATE, ad esempio, può consentire a GRANTEE di aggiornare tutte le colonne di una tabella in un'origine dati e solo le colonne per le quali GRANTOR dispone del privilegio UPDATE in un'origine dati diversa. |
IS_GRANTABLE |
sysname |
Indica se a GRANTEE è consentito o meno concedere autorizzazioni ad altri utenti (autorizzazione per la concessione di autorizzazioni). I possibili valori sono YES, NO e NULL. Un valore sconosciuto, o NULL, fa riferimento a un'origine dati per le quali l'autorizzazione per la concessione di autorizzazioni non è applicabile. |
Osservazioni
La stored procedure sp_table_privileges è equivalente a SQLTablePrivileges in ODBC. I risultati restituiti vengono ordinati in base a TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME e PRIVILEGE.
Autorizzazioni
È necessario disporre dell'autorizzazione SELECT 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 AdventureWorks2012;
GO
EXEC sp_table_privileges
@table_name = 'Contact%';