Sto eseguendo SQL Server 2014 Developer Edition sul mio PC. Sto cercando di visualizzare i dati nella sessione system_health. In SSMS, mi sono collegato al database, ho espanso il server / Gestione / Eventi estesi / Sessioni. Vedo AlwaysON_health (arrestato) e system_health (in esecuzione).
Quando faccio clic con il pulsante destro del mouse sulla sessione system_health, visualizzo il seguente errore:
Impossibile inizializzare la memoria utilizzando i parametri forniti. (Microsoft.SqlServer.XEventStorage) Impossibile trovare la sessione Eventi estesi denominata "system_health". Assicurarsi che la sessione esista e sia avviata. (Microsoft SQL Server, errore: 25728)
Espando system_health e vedo le destinazioni package0.event_file e package0.ring_buffer. Se faccio clic con il pulsante destro del mouse su uno dei target e scelgo "Visualizza dati target", viene visualizzato questo errore:
Impossibile inizializzare la memoria utilizzando i parametri forniti. (Microsoft.SqlServer.XEventStorage) Impossibile visualizzare la funzione 'fn_MSXe_read_event_stream', perché non esiste o non si dispone dell'autorizzazione. (Microsoft SQL Server, errore: 15151)
La funzione esiste. Posso eseguirlo:
select * from fn_MSXe_read_event_stream('system_health', 0);
Quando lo faccio, ottengo questo errore:
Msg 25728, Level 16, State 10, Line 6
The Extended Events session named "system_health" could not be found. Make sure the session exists and is started.
So che la sessione system_health è lì. Vedo nella lista delle sessioni:
select * from sys.dm_xe_sessions
address name name
------------------ -------------
0x00000001FF6510C1 system_health
Ho provato questo con le mie sessioni personalizzate di eventi. Non riesco nemmeno a guardare i dati live su di essi.
Posso interrogare i dati di destinazione del buffer dell'anello system_health da sys.dm_xe_session_targets.
Perché non riesco a guardare i dati in tempo reale per una sessione di eventi estesa?
(Si noti che esiste un elemento di feedback Microsoft per questo problema.)
master. Ripristino del mio database predefinito per la masterrisoluzione dell'errore.