Sử dụng SQL Server Profiler (trên menu công cụ trong SSMS) để tạo ra một dấu vết mà các bản ghi những sự kiện này:
RPC:Completed
SP:Completed
SP:StmtCompleted
SQL:BatchCompleted
SQL:StmtCompleted
Bạn có thể bắt đầu với các tiêu chuẩn theo dõi mẫu và prune nó. Bạn không chỉ định liệu đây có phải là một cơ sở dữ liệu cụ thể hay toàn bộ máy chủ, nếu nó dành cho các Db cụ thể, bao gồm cột DatabaseID và đặt bộ lọc cho DB của bạn (SELECT DB_ID('dbname')
). Đảm bảo cột dữ liệu Đọc hợp lý được bao gồm cho mỗi sự kiện. Đặt dấu vết để đăng nhập vào một tập tin. Nếu bạn để lại dấu vết này để chạy không được giám sát trong nền, bạn nên đặt kích thước tệp theo dõi tối đa là 500MB hoặc 1GB nếu bạn có nhiều chỗ (tất cả phụ thuộc vào số lượng hoạt động trên máy chủ, vì vậy, bạn sẽ phải hút nó và xem).
Bắt đầu theo dõi nhanh và sau đó tạm dừng. Goto File-> Export-> Script Trace Definition và chọn phiên bản DB của bạn, và lưu vào một tập tin. Bây giờ bạn có một kịch bản lệnh sql tạo ra một dấu vết có ít chi phí hơn nhiều so với việc chạy qua GUI profiler. Khi bạn chạy tập lệnh này, nó sẽ xuất ra ID Dấu vết (thường là @ID=2
); lưu ý điều này.
Một khi bạn có một dấu vết tập tin (.trc) (hoặc các dấu vết hoàn thành do đạt kích thước tập tin tối đa hoặc bạn dừng lại các dấu vết sử dụng chạy
EXEC sp_trace_setstatus @ID, 0
EXEC sp_trace_setstatus @ID , 2
Bạn có thể tải các dấu vết vào hồ sơ, hoặc sử dụng ClearTrace (rất tiện dụng) hoặc tải nó vào một bảng như sau:
SELECT * INTO TraceTable
FROM ::fn_trace_gettable('C:\location of your trace output.trc', default)
Sau đó, bạn có thể chạy một truy vấn để tổng hợp dữ liệu như thế này:
SELECT COUNT(*) AS TotalExecutions,
EventClass, CAST(TextData as nvarchar(2000))
,SUM(Duration) AS DurationTotal
,SUM(CPU) AS CPUTotal
,SUM(Reads) AS ReadsTotal
,SUM(Writes) AS WritesTotal
FROM TraceTable
GROUP BY EventClass, CAST(TextData as nvarchar(2000))
ORDER BY ReadsTotal DESC
Một khi bạn đã xác định được các truy vấn tốn kém, bạn có thể tạo và kiểm tra kế hoạch thực hiện thực tế.
Nguồn
2008-11-03 04:35:07
cổ vũ! âm thanh phức tạp hơn một chút mà tôi nghĩ là cần thiết, nhưng tôi chắc chắn sẽ cung cấp cho nó một đi :) chúc mừng! –
Bị dẹp - tôi hy vọng sẽ có cơ hội vào cuối tháng mười một .. và sau đó tôi sẽ đánh dấu câu hỏi hoặc hỏi thêm q. –