ไม่สามารถดูข้อมูลสดบนเซสชันที่ขยายกิจกรรม


9

ฉันใช้ SQL Server 2014 Developer Edition บนพีซีของฉัน ฉันกำลังพยายามดูข้อมูลในเซสชัน system_health ใน SSMS ฉันได้เชื่อมต่อกับฐานข้อมูลขยายเซิร์ฟเวอร์ / การจัดการ / เหตุการณ์ขยาย / เซสชัน ฉันเห็น AlwaysON_health (หยุดทำงาน) และ system_health (กำลังทำงาน)

เมื่อฉันคลิกขวาที่เซสชัน system_health ฉันได้รับข้อผิดพลาดต่อไปนี้:

ที่เก็บข้อมูลล้มเหลวในการเริ่มต้นโดยใช้พารามิเตอร์ที่ให้มา (Microsoft.SqlServer.XEventStorage) ไม่พบเซสชันเพิ่มเติมที่ชื่อว่า "system_health" ตรวจสอบให้แน่ใจว่าเซสชันนั้นมีอยู่และเริ่มขึ้นแล้ว (Microsoft SQL Server ข้อผิดพลาด: 25728)

ฉันขยาย system_health และดูเป้าหมาย package0.event_file และ package0.ring_buffer หากฉันคลิกขวาที่เป้าหมายและเลือก "ดูข้อมูลเป้าหมาย" ฉันได้รับข้อผิดพลาดนี้:

ที่เก็บข้อมูลล้มเหลวในการเริ่มต้นโดยใช้พารามิเตอร์ที่ให้มา (Microsoft.SqlServer.XEventStorage) ไม่สามารถดูฟังก์ชัน 'fn_MSXe_read_event_stream' ได้เนื่องจากไม่มีอยู่หรือคุณไม่มีสิทธิ์ใช้งาน (Microsoft SQL Server ข้อผิดพลาด: 15151)

มีฟังก์ชั่นอยู่ ฉันสามารถเรียกใช้:

select * from fn_MSXe_read_event_stream('system_health', 0);

เมื่อฉันทำฉันได้รับข้อผิดพลาดนี้:

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.

ฉันรู้ว่าเซสชัน system_health อยู่ที่นั่น ฉันเห็นในรายการเซสชัน:

select * from sys.dm_xe_sessions

address name       name
------------------ ------------- 
0x00000001FF6510C1 system_health

ฉันลองสิ่งนี้ด้วยเซสชันเหตุการณ์ที่กำหนดเองของฉันเอง ฉันไม่สามารถดูข้อมูลสดได้

ฉันสามารถสอบถามข้อมูลเป้าหมาย system_health buffer sys.dm_xe_session_targetsแหวนจาก

เหตุใดฉันจึงไม่สามารถดูข้อมูลสดสำหรับเซสชันที่ขยายเพิ่มเติมได้

(โปรดทราบว่ามีรายการข้อเสนอแนะของ Microsoftสำหรับปัญหานี้)


1
คุณสามารถทดสอบสิ่งนี้กับอินสแตนซ์อื่น (โดยใช้สำเนา SSMS เดียวกัน) หรือในอินสแตนซ์นี้จากสำเนา SSMS อื่น (เช่นจากเครื่องอื่น) คุณลองทั้งการตรวจสอบ windows และ sa? ฟังดูเหมือนมีปัญหากับอินสแตนซ์ แต่ก็ดีที่จะแยกแยะชุดค่าผสม
Aaron Bertrand

ฉันพบคำตอบ masterฐานข้อมูลเริ่มต้นการเข้าสู่ระบบของฉันถูกกำหนดให้หนึ่งที่ผมมักจะใช้แทน การตั้งค่าฐานข้อมูลเริ่มต้นของฉันกลับไปmasterแก้ไขข้อผิดพลาด
พอลวิลเลียมส์

หากคุณคลิกขวาที่เซสชันใน Object Explorer SQL Server ควรรู้ว่าจะค้นหาได้ที่ไหนไม่ว่าฐานข้อมูลเริ่มต้นของคุณจะอยู่ที่ใด
Aaron Bertrand

@AaronBertrand ใช่ฉันเห็นด้วย! SSMS ควรทราบวิธีเชื่อมต่อกับเซสชันเหตุการณ์โดยไม่คำนึงถึงฐานข้อมูลเริ่มต้นของฉัน ฉันเชื่อมโยงรายการ Microsoft Connect ในคำถามของฉันควรมีใครต้องการโหวตหรือแสดงความคิดเห็น
พอลวิลเลียมส์

คุณใช้ชื่อเข้าสู่ระบบอะไร Windows auth หรือ SQL auth? พวกเขามีบทบาทอะไรใน
Aaron Bertrand

คำตอบ:


15

ฉันพบปัญหา การเข้าสู่ระบบของฉันมีฐานข้อมูลเริ่มต้นที่แตกต่างจากmasterฐานข้อมูล เมื่อฉันเปลี่ยนฐานข้อมูลเริ่มต้นของฉันmasterเป็นข้อผิดพลาดก็หายไปและฉันสามารถดูข้อมูลสดในเซสชันกิจกรรมที่ขยายเพิ่มเติม

ในการเปลี่ยนฐานข้อมูลเริ่มต้นใน SSMS ฉันได้ขยายเซิร์ฟเวอร์, Security, Logins ฉันคลิกขวาที่ข้อมูลรับรองผู้ใช้ของฉัน ในหน้าเข้าสู่ระบบคุณสมบัติสำหรับผู้ใช้ของฉันฉันเปลี่ยน "ฐานข้อมูลเริ่มต้น" masterเพื่อ ข้อผิดพลาดหายไปเมื่อฉันปิดและเปิดการเชื่อมต่อใน SSMS Object Explorer อีกครั้ง

แก้ไข 2018-12-11

ในลิงก์ข้อเสนอแนะสำหรับปัญหานี้ Karl Fasick โพสต์วิธีแก้ปัญหาที่เป็นไปได้:

Object Explorer ไม่ได้เชื่อมต่อกับฐานข้อมูลหลัก ... วิธีแก้ไข - ยกเลิกการเชื่อมต่อ Object Explorer - เชื่อมต่อใหม่ แต่ไปที่คุณสมบัติการเชื่อมต่อและเลือกต้นแบบอย่างชัดเจน


1
มีรายการเชื่อมต่อสำหรับข้อบกพร่อง EXACT นี้ MS ปิดเพราะ 'ไม่สามารถทำซ้ำได้': connect.microsoft.com/SQLServer/feedback/details/893993/ ...... โปรดลงคะแนนถ้าคุณมาที่นี่แบบเดียวกับที่ฉันทำ (googling กับข้อผิดพลาด - ในกรณีของฉันกับปี 2559 ตัวอย่าง).
Michael K Campbell

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.