sp_column_privileges (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure
Restituisce informazioni sui privilegi delle colonne di una tabella dell'ambiente corrente.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_column_privileges
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @column_name = ] N'column_name' ]
[ ; ]
Argomenti
[ @table_name = ] N'table_name'
Tabella utilizzata per restituire informazioni sul catalogo. @table_name è sysname, senza impostazione predefinita. La corrispondenza dei criteri con caratteri jolly non è supportata.
[ @table_owner = ] N'table_owner'
Proprietario della tabella utilizzata per restituire informazioni sul catalogo. @table_owner è sysname, con il valore predefinito NULL
. La corrispondenza dei criteri con caratteri jolly non è supportata. Se @table_owner non viene specificato, si applicano le regole di visibilità della tabella predefinite del sistema di gestione del database sottostante ( DBMS).
Se l'utente corrente è il proprietario di una tabella avente il nome specificato, vengono restituite le colonne di tale tabella. Se @table_owner non è specificato e l'utente corrente non possiede una tabella con il @table_name specificato, sp_column
i privilegi cercano 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 = ] N'table_qualifier'
Nome del qualificatore di tabella. @table_qualifier è sysname, con un valore predefinito .NULL
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.
[ @column_name = ] N'column_name'
Una singola colonna utilizzata quando viene ottenuta una sola colonna di informazioni sul catalogo. @column_name è nvarchar(384), con il valore predefinito NULL
. Se @column_name non viene specificato, vengono restituite tutte le colonne. In SQL Server @column_name rappresenta il nome della colonna come indicato nella sys.columns
tabella. @column_name possono includere caratteri jolly usando modelli di corrispondenza con caratteri jolly del sistema DBMS sottostante. Per l'interoperabilità massima, il client del gateway deve presupporre solo i criteri standard ISO (caratteri %
jolly e )._
Set di risultati
sp_column_privileges
equivale a SQLColumnPrivileges
in ODBC. I risultati restituiti vengono ordinati in TABLE_QUALIFIER
base a , 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 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 . In SQL Server questa colonna include sempre un utente del database dalla sysusers tabella. 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 YES , NO o NULL . Un valore sconosciuto o NULL , fa riferimento a un'origine dati per cui "grant with grant" non è applicabile. |
Osservazioni:
Con SQL Server, le autorizzazioni vengono concesse con l'istruzione GRANT
e tolte dall'istruzione REVOKE
.
Autorizzazioni
È richiesta SELECT
l'autorizzazione 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';