Bạn có thể sử dụng sự kiện Chú ý trong trình lược tả với các sự kiện để ghi lại các câu lệnh T-SQL. Nó không nhất thiết phải nêu cụ thể sự kiện chú ý là gì khi tôi kiểm tra nó vì vậy tôi đoán thực tế là nó diễn ra theo chuỗi sự kiện mà bạn có thể ước tính các truy vấn có vấn đề. Tôi đã không có cơ hội để kiểm tra đầy đủ với mã và tất cả.
Tuy nhiên, tôi đã bắt gặp một ví dụ chính xác với Sự kiện mở rộng có thể được sử dụng để tìm các truy vấn hết thời gian và ví dụ này là với SQL Server 2008. Đó là từ Jonathan Kehayias: An XEvent a Day (9 of 31) - T Target Week - ghép_matching
Lỗi hết thời gian là phía máy khách và lỗi đến từ nhà cung cấp (hoặc máy khách) đang được sử dụng với kết nối cơ sở dữ liệu. SQL Server không nhất thiết phải theo dõi hoặc cung cấp bất kỳ phương pháp trực quan nào để theo dõi những điều này.
Sử dụng một dấu vết, thời gian chờ bên phía SQL Server về cơ bản là các truy vấn có bắt đầu nhưng không hoàn thành. Mà tôi đã xem qua một video rất hay đi qua một ví dụ từ Sean McCown Tìm thời gian chờ truy vấn với Profiler . Bây giờ nó không phải là bằng chứng vững chắc như Sean ghi chú trong video có những thứ khác có thể khiến giao dịch không có kết thúc.
Tóm tắt các bước:
- Tạo một dấu vết trong Profiler để nắm bắt các sự kiện bắt đầu và hoàn thành cho Thủ tục lưu trữ và TSQL
- Tải dữ liệu đó vào một bảng
- Truy vấn dữ liệu đó để tìm các sự kiện bắt đầu và sau đó kết thúc các sự kiện.
Như ví dụ trong video cho SP:Starting
(44) và SP:Completed
(43) sau khi bạn lấy dữ liệu theo dõi của mình vào một bảng:
SELECT *
INTO #TraceStart
FROM MyTraceData
WHERE EventClass = 44
SELECT *
INTO #TraceEnd
FROM MyTraceData
WHERE EventClass = 45
SELECT TextData
FROM #TraceStart
EXCEPT
SELECT TextData
FROM #TraceEnd
Tôi hy vọng điều này có thể dễ thực hiện hơn với Sự kiện mở rộng nhưng chưa bao giờ thử chuyển phương thức này sang Sự kiện mở rộng. Tôi không chắc liệu phiên bản Sự kiện mở rộng của SQL Server 2008 có mở ra quyền truy cập vào các lỗi cấp độ máy khách như năm 2012 hay không. Trên đây chỉ là một phương pháp nhanh chóng và bẩn mà vẫn hoạt động.