Impossibile guardare i dati in tempo reale sulla sessione degli eventi estesi


9

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.)


1
Puoi testarlo su un'altra istanza (usando la stessa copia di SSMS) o su questa istanza da una copia diversa di SSMS (ad esempio da un'altra macchina)? Hai provato con l'autenticazione di Windows e sa? Sembra un problema con l'istanza, ma è sempre utile escludere le combinazioni.
Aaron Bertrand

Ho trovato la risposta Il database predefinito del mio login era impostato su quello che di solito uso invece di master. Ripristino del mio database predefinito per la masterrisoluzione dell'errore.
Paul Williams,

Sembra strano, se si fa clic con il pulsante destro del mouse sulla sessione in Esplora oggetti, SQL Server dovrebbe sapere dove trovarla, indipendentemente dal database predefinito.
Aaron Bertrand

@AaronBertrand Sì, sono d'accordo! SSMS dovrebbe sapere come connettersi alla sessione dell'evento indipendentemente dal mio database predefinito. Ho collegato un elemento di Microsoft Connect alla mia domanda, nel caso qualcuno volesse votare o commentarlo.
Paul Williams,

Che login stai usando? Autenticazione di Windows o autenticazione SQL? In che ruolo ricoprono?
Aaron Bertrand

Risposte:


15

Ho trovato il problema. Il mio login aveva un database predefinito diverso da quello del masterdatabase. Quando ho cambiato il mio database predefinito in master, l'errore è scomparso e sono stato in grado di guardare i dati in tempo reale nelle sessioni estese degli eventi.

Per modificare il database predefinito, in SSMS, ho espanso il server, Sicurezza, Login. Ho fatto clic con il tasto destro del mouse sulle credenziali dell'utente. Nella pagina Proprietà di accesso per il mio utente, ho modificato "Database predefinito" in master. L'errore è scomparso quando ho chiuso e riaperto la connessione in Esplora oggetti SSMS.

EDIT 2018-12-11

Sul link di feedback per questo problema , Karl Fasick ha pubblicato una probabile soluzione:

Esplora oggetti non è collegato al database principale ... Per risolvere - disconnettere Esplora oggetti - Riconnetti, ma vai su Proprietà connessione e scegli esplicitamente master.


1
C'è un elemento Connect per questo bug EXACT. MS l'ha chiuso come "impossibile riprodurlo": connect.microsoft.com/SQLServer/feedback/details/893993/… Per favore, vota se sei arrivato qui allo stesso modo (googling sull'errore - nel mio caso contro un 2016 esempio).
Michael K Campbell,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.