Condividi tramite


sp_table_privileges_ex (Transact-SQL)

Restituisce informazioni sui privilegi per la tabella specificata nel server collegato specificato.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_table_privileges_ex [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ]
     [ , [@fUsePattern =] 'fUsePattern']

Argomenti

  • [ @table_server = ] 'table_server'
    Nome del server collegato per cui si desidera restituire le informazioni. table_server è di tipo sysname e non prevede alcun valore predefinito.

  • [ @table_name = ] 'table_name'
    Nome della tabella per cui si desidera ottenere informazioni sui privilegi assegnati. table_name è di tipo sysname e il valore predefinito è NULL.

  • [ @table_schema = ] 'table_schema'
    Schema della tabella. In alcuni ambienti DBMS corrisponde al proprietario della tabella. table_schema è di tipo sysname e il valore predefinito è NULL.

  • [ @table_catalog = ] 'table_catalog'
    Nome del database contenente la tabella specificata in table_name. table_catalog è di tipo sysname e il valore predefinito è NULL.

  • [ @fUsePattern = ] 'fUsePattern'
    Determina se i caratteri '_', '%', '[', e ']' 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 restituiti

Nessuno

Set di risultati

Nome colonna

Tipo di dati

Descrizione

TABLE_CAT

sysname

Nome del qualificatore della tabella. Vari prodotti DBMS supportano nomi di tabella composti da tre parti, ovvero 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. Questo campo può essere NULL.

TABLE_SCHEM

sysname

Nome del proprietario della tabella. In SQL Server questa colonna rappresenta il nome dell'utente del database che ha creato la tabella. In questo campo viene sempre restituito un valore.

TABLE_NAME

sysname

Nome della tabella. In questo campo viene sempre restituito un valore.

GRANTOR

sysname

Nome dell'utente del database che ha concesso autorizzazioni all'utente specificato in GRANTEE per la tabella specificata in TABLE_NAME. In SQL Server questa colonna corrisponde sempre a TABLE_OWNER. In questo campo viene sempre restituito 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 autorizzazioni tramite la clausola WITH GRANT OPTION dell'istruzione GRANT.

GRANTEE

sysname

Nome dell'utente del database a cui l'utente specificato in GRANTOR ha concesso autorizzazioni per la tabella specificata in TABLE_NAME. In questo campo viene sempre restituito un valore.

PRIVILEGE

varchar(32)

Una delle autorizzazioni di tabella disponibili. I possibili valori delle autorizzazioni di tabella sono i seguenti. È inoltre possibile utilizzare altri valori supportati dall'origine dei dati al momento della definizione dell'implementazione.

SELECT = L'utente GRANTEE può recuperare i dati di 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 esterna in una relazione tra chiave primaria e chiave esterna. In SQL Server le relazioni tra chiave primaria e chiave esterna vengono definite tramite l'utilizzo di vincoli di tabella.

L'ambito di azione ottenuto dall'utente GRANTEE tramite un determinato privilegio di tabella dipende dall'origine dei dati. L'autorizzazione UPDATE, ad esempio, può consentire all'utente GRANTEE di aggiornare tutte le colonne di una tabella in una certa origine dei dati e solo le colonne per le quali l'utente GRANTOR dispone dell'autorizzazione UPDATE in un'origine dei dati diversa.

IS_GRANTABLE

varchar(3)

Specifica se l'utente GRANTEE può assegnare autorizzazioni ad altri utenti. Questa autorizzazione spesso viene denominata "autorizzazione per la concessione di autorizzazioni". I possibili valori sono YES, NO e NULL. Il valore sconosciuto, o NULL, indica un'origine dei dati per la quale l'autorizzazione per la concessione di autorizzazioni non è applicabile.

Osservazioni

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 le tabelle il cui nome inizia con Product incluse nel database AdventureWorks2008R2 disponibile nel server collegato Seattle1. In questo esempio si presuppone che il server collegato esegua SQL Server.

EXEC sp_table_privileges_ex @table_server = 'Seattle1', 
   @table_name = 'Product%', 
   @table_schema = 'Production',
   @table_catalog ='AdventureWorks2008R2';