sp_column_privileges (Transact-SQL)

Si applica a:SQL ServerDatabase SQL diAzure Istanza gestita di SQL di Azure

Restituisce informazioni sui privilegi delle colonne di una tabella dell'ambiente corrente.

Convenzioni di sintassi Transact-SQL

Sintassi

  
sp_column_privileges [ @table_name = ] 'table_name'   
     [ , [ @table_owner = ] 'table_owner' ]   
     [ , [ @table_qualifier = ] 'table_qualifier' ]   
     [ , [ @column_name = ] 'column' ]  

Argomenti

[ @table_name= ] 'table_name'
Tabella utilizzata per restituire informazioni del catalogo. table_name è sysname, senza impostazione predefinita. I criteri di ricerca con caratteri jolly non sono supportati.

[ @table_owner= ] 'table_owner'
Proprietario della tabella utilizzata per restituire informazioni sul catalogo. table_owner è sysname, con valore predefinito NULL. I criteri di ricerca con caratteri jolly non sono supportati. Se non viene specificato table_owner, si applicano le regole di visibilità della tabella predefinite del sistema di gestione del database sottostante.If table_owner is not specified, the default table visibility rules of the underlying database management system (DBMS) apply.

Se l'utente corrente è il proprietario di una tabella avente il nome specificato, vengono restituite le colonne di tale tabella. Se table_owner non viene specificato e l'utente corrente non è proprietario di una tabella con il table_name specificato, sp_column privilegi 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= ] 'table_qualifier'
Nome del qualificatore di tabella. table_qualifier è sysname, con valore predefinito NULL. Vari prodotti DBMS supportano la denominazione in tre parti per le tabelle (qualificatore.proprietario.nome). In SQL Server questa colonna rappresenta il nome del database. In altri prodotti rappresenta il nome del server dell'ambiente di database della tabella.

[ @column_name= ] 'column'
Colonna utilizzata quando si desidera ottenere una sola colonna di informazioni del catalogo. column è nvarchar(384), con valore predefinito NULL. Se la colonna non è specificata, vengono restituite tutte le colonne. In SQL Server la colonna rappresenta il nome della colonna come elencato nella tabella sys.columns. la colonna può includere caratteri jolly usando criteri di corrispondenza con caratteri jolly del DBMS sottostante. Per ottenere la massima interoperabilità, è consigliabile che nel client del gateway vengano utilizzati solo i caratteri jolly dello standard ISO, ovvero i caratteri % e _.

Set di risultati

sp_column_privileges equivale a SQLColumnPrivileges in ODBC. I risultati restituiti sono ordinati per TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME e PRIVILEGE.

Nome colonna Tipo di dati Descrizione
TABLE_QUALIFIER sysname Nome del qualificatore della tabella. 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.
COLUMN_NAME sysname Nome di ogni colonna della tabella TABLE_NAME restituita. Questo campo restituisce sempre un valore.
GRANTOR sysname Nome dell'utente del database che ha concesso le autorizzazioni per la colonna COLUMN_NAME all'utente GRANTEE specificato. In SQL Server questa colonna è sempre la stessa della TABLE_OWNER. Questo campo restituisce sempre un valore.

La colonna GRANTOR può rappresentare il proprietario del database (TABLE_OWNER) o un utente a cui il proprietario del database ha concesso le autorizzazioni tramite la clausola WITH GRANT OPTION dell'istruzione GRANT.
GRANTEE sysname Nome dell'utente del database a cui l'utente GRANTOR specificato ha concesso le autorizzazioni per la colonna COLUMN_NAME. In SQL Server questa colonna include sempre un utente del database dalla tabella sysusers. 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 = l'utente GRANTEE può recuperare dati per le colonne.

INSERT = l'utente GRANTEE può fornire dati per la colonna specificata quando inserisce nuove righe nella tabella.

UPDATE = l'utente GRANTEE può modificare i dati della colonna.

REFERENCES = l'utente GRANTEE può fare riferimento a una colonna di 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'utente GRANTEE può 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 dei dati per la quale questo tipo di assegnazione indiretta delle autorizzazioni non è consentito.

Osservazioni:

Con SQL Server, le autorizzazioni vengono concesse con l'istruzione GRANT e tolte dall'istruzione REVOKE.

Autorizzazioni

È richiesta l'autorizzazione SELECT per lo schema.

Esempi

Nell'esempio seguente vengono restituite informazioni sui privilegi di una colonna specifica.

USE AdventureWorks2022;  
GO  
EXEC sp_column_privileges @table_name = 'Employee'   
    ,@table_owner = 'HumanResources'  
    ,@table_qualifier = 'AdventureWorks2022'  
    ,@column_name = 'SalariedFlag';  

Vedi anche

GRANT (Transact-SQL)
REVOKE (Transact-SQL)
Stored procedure di sistema (Transact-SQL)