Condividi tramite


sp_column_privileges_ex (Transact-SQL)

Si applica a: SQL Server

Restituisce i privilegi di una colonna della tabella specificata nel server collegato specificato.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_column_privileges_ex
    [ @table_server = ] N'table_server'
    [ , [ @table_name = ] N'table_name' ]
    [ , [ @table_schema = ] N'table_schema' ]
    [ , [ @table_catalog = ] N'table_catalog' ]
    [ , [ @column_name = ] N'column_name' ]
[ ; ]

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 contenente la colonna specificata. @table_name è sysname, con un valore predefinito .NULL

[ @table_schema = ] N'table_schema'

Schema 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

[ @column_name = ] N'column_name'

Nome della colonna per cui fornire informazioni sui privilegi. @column_name è sysname, con un valore predefinito (NULLtutti comuni).

Set di risultati

Nella tabella seguente vengono descritte le colonne dei set di risultati. I risultati restituiti vengono ordinati in TABLE_QUALIFIERbase a , TABLE_OWNERTABLE_NAME, , COLUMN_NAMEe PRIVILEGE.

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.
COLUMN_NAME sysname Nome colonna, per ogni colonna dell'oggetto TABLE_NAME restituito. Questo campo restituisce sempre un valore.
GRANTOR sysname Nome utente del database a cui sono state concesse le autorizzazioni per COLUMN_NAME l'oggetto nell'elenco GRANTEE. In SQL Server questa colonna è sempre uguale a TABLE_OWNER. Questo campo restituisce sempre un valore.

La GRANTOR colonna può essere il proprietario del database (TABLE_OWNER) o un utente a cui il proprietario del database ha concesso le autorizzazioni usando la WITH GRANT OPTION clausola nell'istruzione GRANT .
GRANTEE sysname Nome utente del database a cui sono state concesse le autorizzazioni in base COLUMN_NAME all'oggetto elencato GRANTOR. Questo campo restituisce sempre un valore.
PRIVILEGE varchar(32) Una delle autorizzazioni di colonna disponibili. Le autorizzazioni di colonna possono essere rappresentate da uno dei valori riportati di seguito o da altri valori supportati dall'origine dei dati in fase di definizione dell'implementazione:

SELECT = GRANTEE può recuperare i dati per le colonne.
INSERT = GRANTEE può fornire dati per questa colonna quando vengono inserite nuove righe (da GRANTEE) nella tabella.
UPDATE = GRANTEE può modificare i dati esistenti nella colonna.
REFERENCES = GRANTEE può fare riferimento a una colonna in una tabella esterna in una relazione chiave primaria/chiave esterna. Questo tipo di relazione viene definito tramite vincoli di tabella.
IS_GRANTABLE varchar(3) Indica se l'oggetto GRANTEE è autorizzato a concedere autorizzazioni ad altri utenti (spesso definito "concessione con concessione"). Può essere SÌ, NO o NULL. Un valore sconosciuto o NULL, fa riferimento a un'origine dati in cui "grant with grant" non è applicabile.

Autorizzazioni

È richiesta SELECT l'autorizzazione per lo schema.

Esempi

Nell'esempio seguente vengono restituite informazioni relative ai privilegi di colonna della tabella HumanResources.Department del database AdventureWorks2022 nel server collegato Seattle1.

EXEC sp_column_privileges_ex
    @table_server = 'Seattle1',
    @table_name = 'Department',
    @table_schema = 'HumanResources',
    @table_catalog = 'AdventureWorks2022';