Condividi tramite


sp_column_privileges (Transact-SQL)

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

Icona di collegamento a un argomento Convenzioni della 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 è di tipo sysname e non prevede alcun valore predefinito. 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 è di tipo sysname e il valore predefinito è NULL. Le ricerche con caratteri jolly non sono supportate. Se table_owner viene omesso, vengono applicate le regole di visibilità della tabella predefinite del sistema di gestione di database (DBMS) sottostante.

    Se l'utente corrente è il proprietario di una tabella avente il nome specificato, vengono restituite le colonne di tale tabella. Se table_owner viene omesso e l'utente corrente non è il proprietario di una tabella con il valore table_name specificato, sp_column privileges eseguirà una ricerca di una tabella con nome corrispondente al valore table_name specificato e 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 i nomi di tabella composti da tre parti (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.

  • [ @column\_name= ] 'column'
    Colonna utilizzata quando si desidera ottenere una sola colonna di informazioni del catalogo. column è di tipo nvarchar(384) e il valore predefinito è NULL. Se column viene omesso, vengono restituite tutte le colonne. In SQL Server, column rappresenta il nome di colonna utilizzato nella tabella sys.columns. column possono essere presenti caratteri jolly che utilizzano i criteri di corrispondenza del sistema 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 vengono ordinati in base a 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 della 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 autorizzazioni all'utente GRANTEE elencato per COLUMN_NAME. In SQL Server questa colonna corrisponde sempre a TABLE_OWNER. Questo campo restituisce sempre un valore.

Il valore della colonna GRANTOR può essere 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 elencato ha concesso autorizzazioni per COLUMN_NAME. In SQL Server questa colonna include sempre un utente di database della 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 vengono inserite nuove righe, dall'utente GRANTEE, nella tabella.

UPDATE = l'utente GRANTEE può modificare i dati esistenti nella 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 spesso denominata con 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

In SQL Server le autorizzazioni vengono concesse tramite l'istruzione GRANT e rimosse tramite l'istruzione REVOKE.

Autorizzazioni

È richiesta l'autorizzazione SELECT per lo schema.

Esempi

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

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

Vedere anche

Riferimento

GRANT (Transact-SQL)

REVOKE (Transact-SQL)

Stored procedure di sistema (Transact-SQL)