Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureDatabase SQL in Microsoft Fabric
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_QUALIFIERbase a , TABLE_OWNERTABLE_NAME, , COLUMN_NAMEe 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
EXECUTE sp_column_privileges
@table_name = 'Employee',
@table_owner = 'HumanResources',
@table_qualifier = 'AdventureWorks2022',
@column_name = 'SalariedFlag';