Condividi tramite


sp_table_privileges_ex (Transact-SQL)

Si applica a: SQL Server

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

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @table_server = ] N'table_server'

Nome del server collegato per il quale restituire informazioni. @table_server è sysname, senza impostazione predefinita.

[ @table_name = ] N'table_name'

Nome della tabella per cui fornire informazioni sui privilegi di tabella. @table_name è sysname, con un valore predefinito .NULL

[ @table_schema = ] N'table_schema'

Schema della tabella. In alcuni ambienti DBMS corrisponde al proprietario della tabella. @table_schema è sysname, con il valore predefinito NULL.

[ @table_catalog = ] N'table_catalog'

Nome del database in cui risiede il @table_name specificato. @table_catalog è sysname, con un valore predefinito .NULL

[ @fUsePattern = ] fUsePattern

Determina se i caratteri _, %, [e ] 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_CAT sysname Nome del qualificatore della tabella. 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. 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. 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 GRANTOR colonna 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. Questo campo restituisce sempre 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 = 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 usando vincoli di tabella.

L'ambito dell'azione assegnato a da un privilegio di tabella specifico è dipendente dall'origine GRANTEE dati. Ad esempio, l'autorizzazione potrebbe consentire all'oggetto UPDATE GRANTEE di aggiornare tutte le colonne di una tabella in un'origine dati e solo quelle per le quali l'oggetto dispone dell'autorizzazione GRANTOR UPDATE per un'altra origine dati.
IS_GRANTABLE varchar(3) Indica se l'oggetto GRANTEE è autorizzato a concedere autorizzazioni ad altri utenti. Questa autorizzazione spesso viene denominata "autorizzazione per la concessione di autorizzazioni". Può essere YES, NO o NULL. Un valore sconosciuto o NULL, fa riferimento a un'origine dati in cui "grant with grant" non è applicabile.

Osservazioni:

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 le tabelle il cui nome inizia con Product incluse nel database AdventureWorks2022 disponibile nel server collegato Seattle1. SQL Server viene considerato come server collegato.

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