Share via


Autorizzazioni necessarie per l'esecuzione di SQL Server Profiler

Per impostazione predefinita, l'esecuzione di SQL Server Profiler richiede le stesse autorizzazioni utente necessarie per le stored procedure Transact-SQL usate per la creazione di tracce. Per eseguire SQL Server Profiler, è necessario che agli utenti venga concessa l'autorizzazione ALTER TRACE. Per altre informazioni, vedere Autorizzazione del server GRANT (Transact-SQL).

Importante

Gli utenti che dispongono dell'autorizzazione SHOWPLAN, ALTER TRACE o VIEW SERVER STATE possono visualizzare le query acquisite nell'output di Showplan. Poiché tali query possono contenere informazioni riservate, ad esempio password, è consigliabile concedere tali autorizzazioni solo agli utenti che possono visualizzare le informazioni riservate, ad esempio ai membri del ruolo predefinito del database db_owner oppure ai membri del ruolo predefinito del server sysadmin. È inoltre consigliabile salvare file Showplan o file di traccia che contengono eventi correlati a Showplan solo in una posizione che utilizza il file system NTFS e limitare l'accesso agli utenti autorizzati a visualizzare le informazioni riservate.

Autorizzazioni per la riproduzione di tracce

Per riprodurre le tracce, è necessario che l'utente che desidera eseguire questa operazione disponga dell'autorizzazione ALTER TRACE.

Durante la riproduzione, tuttavia, SQL Server Profiler usa il comando EXECUTE AS, se nella traccia riprodotta viene rilevato un evento Audit Login. SQL Server Profiler usa il comando EXECUTE AS per rappresentare l'utente associato all'evento di accesso.

Se SQL Server Profiler rileva un evento di accesso in una traccia da riprodurre, verranno eseguiti i controlli delle autorizzazioni seguenti:

  1. Utente1, che dispone dell'autorizzazione ALTER TRACE, inizia la riproduzione di una traccia.

  2. Nella traccia riprodotta viene rilevato un evento di accesso per Utente2.

  3. SQL Server Profiler usa il comando EXECUTE AS per rappresentare Utente2.

  4. SQL Server prova a eseguire l'autenticazione di Utente2 e, in base ai risultati, si verifica una delle situazioni seguenti:

    1. Se non è possibile eseguire l'autenticazione di Utente2, SQL Server Profiler restituisce un errore e continua la riproduzione della traccia come Utente1.

    2. Se l'autenticazione di Utente2 viene eseguita, la riproduzione della traccia continua come Utente2.

  5. Vengono controllate le autorizzazioni di Utente2 nel database di destinazione e, in base ai risultati, si può verificare una delle situazioni seguenti:

    1. Se Utente2 dispone delle autorizzazioni per il database di destinazione, la rappresentazione ha esito positivo e la riproduzione della traccia viene eseguita come Utente2.

    2. Se Utente2 non dispone delle autorizzazioni per il database di destinazione, il server verifica se esiste un utente Guest nel database.

  6. Viene verificata l'esistenza di un utente Guest nel database di destinazione e, in base ai risultati, si può verificare una delle situazioni seguenti:

    1. Se esiste un account Guest, la riproduzione della traccia viene eseguita come account Guest.

    2. Se nel database di destinazione non esiste un account Guest, viene restituito un errore e la riproduzione della traccia viene eseguita come Utente1.

Nella figura seguente viene illustrato il processo di verifica delle autorizzazioni per la riproduzione delle tracce:

SQL Server Profiler riprodurre le autorizzazioni di

Vedere anche

SQL Server Profiler stored procedure (Transact-SQL)Riplay tracceCreare una traccia (SQL Server Profiler)Riprodurre una tabella di traccia (SQL Server Profiler)Riprodurre un file di traccia (SQL Server Profiler)