Không thể xem dữ liệu trực tiếp trên phiên sự kiện mở rộng


9

Tôi đang chạy SQL Server 2014 Developer Edition trên PC của mình. Tôi đang cố gắng xem dữ liệu trong phiên system_health. Trong SSMS, tôi đã kết nối với cơ sở dữ liệu, mở rộng máy chủ / Quản lý / Sự kiện mở rộng / Phiên. Tôi thấy Luôn luôn_health (đã dừng) và system_health (đang chạy).

Khi tôi nhấp chuột phải vào phiên system_health, tôi gặp lỗi sau:

Việc lưu trữ không thể khởi tạo bằng các tham số được cung cấp. (Microsoft.SqlServer.XEventStorage) Không thể tìm thấy phiên Sự kiện mở rộng có tên "system_health". Hãy chắc chắn rằng phiên tồn tại và được bắt đầu. (Máy chủ Microsoft SQL, Lỗi: 25728)

Tôi mở rộng system_health và xem các gói mục tiêu0.event_file và gói0.ring_buffer. Nếu tôi nhấp chuột phải vào mục tiêu và chọn "Xem dữ liệu mục tiêu", tôi sẽ gặp lỗi này:

Việc lưu trữ không thể khởi tạo bằng các tham số được cung cấp. (Microsoft.SqlServer.XEventStorage) Không thể xem chức năng 'fn_MSXe_read_event_stream', vì nó không tồn tại hoặc bạn không có quyền. (Máy chủ Microsoft SQL, Lỗi: 15151)

Các chức năng không tồn tại. Tôi có thể chạy nó:

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

Khi tôi làm, tôi nhận được lỗi này:

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.

Tôi biết phiên system_health ở đó. Tôi thấy trong danh sách các phiên:

select * from sys.dm_xe_sessions

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

Tôi đã thử điều này với các phiên sự kiện tùy chỉnh của riêng tôi. Tôi cũng không thể xem dữ liệu trực tiếp về chúng.

Tôi có thể truy vấn dữ liệu mục tiêu bộ đệm vòng system_health từ sys.dm_xe_session_targets.

Tại sao tôi không thể xem dữ liệu trực tiếp cho bất kỳ phiên sự kiện mở rộng nào?

(Lưu ý rằng có một mục phản hồi của Microsoft cho vấn đề này.)


1
Bạn có thể kiểm tra điều này trên một phiên bản khác (sử dụng cùng một bản sao SSMS) hoặc trên trường hợp này từ một bản sao SSMS khác (ví dụ từ một máy khác) không? Bạn đã thử với cả xác thực windows và sa? Nghe có vẻ như là một vấn đề với ví dụ, nhưng luôn luôn tốt để loại trừ các kết hợp.
Aaron Bertrand

Tôi tìm thấy câu trả lời. Cơ sở dữ liệu mặc định của đăng nhập của tôi đã được đặt thành cơ sở dữ liệu tôi thường sử dụng thay vì master. Đặt lại cơ sở dữ liệu mặc định của tôi để mastergiải quyết lỗi.
Paul Williams

Điều đó có vẻ kỳ lạ, nếu bạn nhấp chuột phải vào phiên trong Object Explorer, SQL Server sẽ biết nơi tìm nó, bất kể cơ sở dữ liệu mặc định của bạn.
Aaron Bertrand

@AaronBertrand Vâng, tôi đồng ý! SSMS nên biết cách kết nối với phiên sự kiện bất kể cơ sở dữ liệu mặc định của tôi. Tôi đã liên kết một mục Microsoft Connect trong câu hỏi của mình, nếu có ai muốn bỏ phiếu hoặc nhận xét về nó.
Paul Williams

Bạn đang sử dụng thông tin đăng nhập nào? Windows auth hay SQL auth? Họ đóng vai trò gì?
Aaron Bertrand

Câu trả lời:


15

Tôi tìm thấy vấn đề. Đăng nhập của tôi có một cơ sở dữ liệu mặc định khác với mastercơ sở dữ liệu. Khi tôi thay đổi cơ sở dữ liệu mặc định của mình thành master, lỗi đã biến mất và tôi có thể xem Dữ liệu trực tiếp trên các phiên sự kiện mở rộng.

Để thay đổi cơ sở dữ liệu mặc định, trong SSMS, tôi đã mở rộng máy chủ, Bảo mật, Đăng nhập. Tôi nhấp chuột phải vào thông tin người dùng của tôi. Trên trang Thuộc tính đăng nhập cho người dùng của tôi, tôi đã thay đổi "Cơ sở dữ liệu mặc định" thành master. Lỗi đã biến mất khi tôi đóng và mở lại kết nối trong SSMS Object Explorer.

EDIT 2018-12-11

Trên đường dẫn phản hồi cho vấn đề này , Karl Fasick đã đăng một giải pháp có khả năng:

Object Explorer không được kết nối với cơ sở dữ liệu chủ ... Để sửa - ngắt kết nối Object Explorer - Kết nối lại, nhưng đi đến Thuộc tính kết nối và chọn rõ ràng chủ.


1
Có một mục Kết nối cho lỗi CHÍNH XÁC này. MS đóng nó là 'không thể tái tạo': connect.microsoft.com/SQLServer/feedback/details/893993/... hãy bỏ phiếu đó lên nếu bạn đến đây giống như cách tôi đã (googling về lỗi - trong trường hợp của tôi chống lại một năm 2016 ví dụ).
Michael K Campbell

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.