Saya menjalankan SQL Server 2014 Developer Edition di PC saya. Saya mencoba melihat data di sesi system_health. Dalam SSMS, saya telah terhubung ke database, memperluas server / Manajemen / Peristiwa / Sesi Diperpanjang. Saya melihat AlwaysON_health (berhenti) dan system_health (berjalan).
Ketika saya mengklik kanan pada sesi system_health, saya mendapatkan kesalahan berikut:
Penyimpanan gagal diinisialisasi menggunakan parameter yang disediakan. (Microsoft.SqlServer.XEventStorage) Sesi Acara Diperpanjang yang bernama "system_health" tidak dapat ditemukan. Pastikan sesi ada dan dimulai. (Microsoft SQL Server, Kesalahan: 25728)
Saya memperluas system_health dan melihat target package0.event_file dan package0.ring_buffer. Jika saya mengklik kanan salah satu target dan memilih "Lihat Data Target", saya mendapatkan kesalahan ini:
Penyimpanan gagal diinisialisasi menggunakan parameter yang disediakan. (Microsoft.SqlServer.XEventStorage) Tidak dapat melihat fungsi 'fn_MSXe_read_event_stream', karena tidak ada atau Anda tidak memiliki izin. (Microsoft SQL Server, Kesalahan: 15151)
Fungsi itu ada. Saya bisa menjalankannya:
select * from fn_MSXe_read_event_stream('system_health', 0);
Ketika saya melakukannya, saya mendapatkan kesalahan ini:
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.
Saya tahu sesi system_health ada di sana. Saya melihat di dalam daftar sesi:
select * from sys.dm_xe_sessions
address name name
------------------ -------------
0x00000001FF6510C1 system_health
Saya sudah mencoba ini dengan sesi acara khusus saya sendiri. Saya juga tidak bisa menonton data langsung tentang mereka.
Saya dapat meminta data target buffer ring system_health dari sys.dm_xe_session_targets
.
Mengapa saya tidak bisa menonton data langsung untuk sesi acara yang diperluas?
(Perhatikan bahwa ada item umpan balik Microsoft untuk masalah ini.)
sumber
master
. Mengatur database default saya kembali untukmaster
menyelesaikan kesalahan.Jawaban:
Saya menemukan masalahnya. Login saya memiliki database default yang berbeda dari
master
database. Ketika saya mengubah database default saya menjadimaster
, kesalahan hilang, dan saya bisa Menonton Data Langsung pada sesi acara yang diperpanjang.Untuk mengubah database default, di SSMS, saya memperluas server, Keamanan, Login. Saya mengklik kanan kredensial pengguna saya. Pada halaman Properti Login untuk pengguna saya, saya mengubah "Database default" menjadi
master
. Kesalahan hilang ketika saya menutup dan membuka kembali koneksi di SSMS Object Explorer.EDIT 2018-12-11
Pada tautan umpan balik untuk masalah ini , Karl Fasick memposting solusi yang mungkin:
sumber