sp_helprotect (Transact-SQL)
Restituisce un report con informazioni sulle autorizzazioni utente per un oggetto o sulle autorizzazioni per le istruzioni, nel database corrente.
Importante: |
---|
sp_helprotect non restituisce informazioni sulle entità a protezione diretta introdotte in SQL Server 2005. A tale scopo, utilizzare invece sys.database_permissions e fn_builtin_permissions. |
Convenzioni della sintassi Transact-SQL
Sintassi
sp_helprotect [ [ @name = ] 'object_statement' ]
[ , [ @username = ] 'security_account' ]
[ , [ @grantorname = ] 'grantor' ]
[ , [ @permissionarea = ] 'type' ]
Argomenti
[ @name = ] 'object_statement'
Nome dell'oggetto nel database corrente, o di un'istruzione, a cui sono associate le autorizzazioni di cui si desidera ottenere informazioni. object_statement è di tipo nvarchar(776) e il valore predefinito è NULL, con cui vengono restituite tutte le autorizzazioni per gli oggetti e per le istruzioni. Se il valore è un oggetto, quale una tabella, una vista, una stored procedure o una stored procedure estesa, deve essere un oggetto valido nel database corrente. Il nome dell'oggetto può includere un qualificatore del proprietario nel formato owner**.**object.Se object_statement è un'istruzione, i possibili valori sono i seguenti:
- CREATE DATABASE
- CREATE DEFAULT
- CREATE FUNCTION
- CREATE PROCEDURE
- CREATE RULE
- CREATE TABLE
- CREATE VIEW
- BACKUP DATABASE
- BACKUP LOG
- [ @username = ] 'security_account'
Nome dell'entità per cui vengono restituite informazioni sulle autorizzazioni. security_account è di tipo sysname e il valore predefinito è NULL, con il quale vengono restituite tutte le entità nel database corrente. security_account deve esistere nel database corrente.
- [ @grantorname = ] 'grantor'
Nome dell'entità che ha concesso le autorizzazioni. grantor è di tipo sysname e il valore predefinito è NULL, con il quale vengono restituite tutte le informazioni relative alle autorizzazioni concesse da qualsiasi entità nel database.
- [ @permissionarea = ] 'type'
Stringa di caratteri che indica se visualizzare le autorizzazioni per gli oggetti (stringa di caratteri o), le autorizzazioni per le istruzioni (stringa di caratteri s) o entrambe (os). type è di tipo varchar(10) e il valore predefinito è os. type può essere qualsiasi combinazione di o e s, con o senza virgole o spazi tra le stringhe o e s.
Set di risultati
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
Owner |
sysname |
Nome del proprietario dell'oggetto. |
Object |
sysname |
Nome dell'oggetto. |
Grantee |
sysname |
Nome dell'entità a cui sono state concesse le autorizzazioni. |
Grantor |
sysname |
Nome dell'entità che ha concesso le autorizzazioni all'entità autorizzata specificata. |
ProtectType |
nvarchar(10) |
Nome del tipo di protezione: GRANT REVOKE |
Action |
nvarchar(20) |
Nome dell'autorizzazione:
|
Column |
sysname |
Tipo di autorizzazione: All = L'autorizzazione è valida per tutte le colonne correnti dell'oggetto. New = L'autorizzazione è valida per le nuove colonne che potrebbero essere modificate in futuro nell'oggetto (tramite l'istruzione ALTER). All+New = L'autorizzazione è valida sia per le colonne correnti che per le nuove colonne. |
Osservazioni
Tutti i parametri nella procedura seguente sono facoltativi. Se vengono omessi tutti i parametri, sp_helprotect
visualizza tutte le autorizzazioni concesse o negate nel database corrente.
Se vengono specificati alcuni parametri, ma non tutti, utilizzare i parametri denominati per identificare i vari parametri oppure utilizzare NULL
come segnaposto dei parametri omessi. Ad esempio, per restituire tutte le autorizzazioni per il proprietario di database (dbo
) che concede le autorizzazioni, eseguire l'istruzione seguente:
EXEC sp_helprotect NULL, NULL, dbo
oppure
EXEC sp_helprotect @grantorname = 'dbo'
Il report di output viene ordinato in base a categoria di autorizzazioni, proprietario, oggetto, entità a cui è stata concessa l'autorizzazione, entità che ha concesso l'autorizzazione, categoria del tipo di protezione, tipo di protezione, azione e ID sequenziale di colonna.
Autorizzazioni
È richiesta l'appartenenza al ruolo public.
Le informazioni restituite sono soggette a limitazioni di accesso ai metadati. Non vengono visualizzate le entità per le quali l'entità di database non dispone dell'autorizzazione. Per ulteriori informazioni, vedere Configurazione della visibilità dei metadati.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Esempi
A. Visualizzazione di un elenco delle autorizzazioni per una tabella
Nell'esempio seguente vengono elencate le autorizzazioni per la tabella titles
.
EXEC sp_helprotect 'titles'
B. Visualizzazione di un elenco delle autorizzazioni per un utente
Nell'esempio seguente vengono elencate tutte le autorizzazioni disponibili per l'utente Judy
nel database corrente.
EXEC sp_helprotect NULL, 'Judy'
C. Visualizzazione di un elenco delle autorizzazioni concesse da un utente specifico
Nell'esempio seguente vengono elencate tutte le autorizzazioni concesse dall'utente Judy
nel database corrente, utilizzando il valore NULL
come segnaposto per i parametri omessi.
EXEC sp_helprotect NULL, NULL, 'Judy'
D. Visualizzazione di un elenco delle autorizzazioni per le istruzioni
Nell'esempio seguente vengono elencate tutte le autorizzazioni per le istruzioni nel database corrente, utilizzando il valore NULL
come segnaposto per i parametri omessi.
EXEC sp_helprotect NULL, NULL, NULL, 's'
Vedere anche
Riferimento
Stored procedure di protezione (Transact-SQL)
DENY (Transact-SQL)
GRANT (Transact-SQL)
REVOKE (Transact-SQL)
Stored procedure di sistema (Transact-SQL)