Nắm bắt sơ đồ thực thi với SQL Server 2005 Profiler
Tim Chapman Sơ đồ thực thi là một trong những công cụ tốt nhất để chẩn đoán các lỗi truy vấn nhằm điều chỉnh thực thi các truy vấn trên SQL Server. Trong các phiên bản trước của SQL Server 2005, tùy chọn duy nhất để thực thiện truy vấn là những sơ đồ ...
Tim Chapman
Sơ đồ thực thi là một trong những công cụ tốt nhất để chẩn đoán các lỗi truy vấn nhằm điều chỉnh thực thi các truy vấn trên SQL Server. Trong các phiên bản trước của SQL Server 2005, tùy chọn duy nhất để thực thiện truy vấn là những sơ đồ văn bản hay sơ đồ thực thi bằng đồ thị đối với các truy vấn bằng tay. Trên SQL Server 2005, bạn có thể nắm bắt các sơ đồ thực thi theo hai phương pháp mới sẽ trợ giúp thêm cho bạn nhiều khả năng hơn để chẩn đoán và điều chỉnh các truy vấn cơ sở dữ liệu.
Bạn có thể nhận biết được các sơ đồ thực thi truy vấn thông qua một theo dõi trên SQL Server và thông qua cửa sổ quản lý động. Trong bài này, chúng ta sẽ sử dụng SQL Server 2005 Profiler để đưa ra các chỉ lệnh theo dõi ngẫu nhiên nhằm nắm bắt sơ đồ thực hiện của các câu lệnh đã được thực hiện trên máy chủ cơ sở dữ liệu.
Thực hiện các bước sau để mở SQL Server 2005 Profiler.
1. Chọn SQL Server Profiler từ trình đơn Tools trên SQL Server Management Studio. SQL Profiler sẽ được mở với một màn ảnh để trống.
2. Tại trình đơn File, chọn New Trace và kết nối tới máy chủ bạn muốn theo dõi.
3. Tại cửa sổ màn hình Trace Properties, chọn thẻ Events Selection để lựa chọn những sự kiện mà bạn muốn theo dõi. Tại phía dưới bên phải cửa sổ, chọn hộp kiểm Show All Events. Lựa chọn này sẽ mở rộng tất cả các sự kiện sẵn có để theo dõi.
4. Định hướng tới mục Performance và lựa chọn sự kiện Showplan XML. Sự kiện này sẽ nắm bắt các sơ đồ thực hiện trong một định dạng XML mà bạn có thể quan sát bằng đồ thị trong SQL Profiler hay SQL Server Management Studio. Xem Hình A.
Hình A
Điều quan trọng là bạn đang theo dõi những gì. Nếu như theo dõi quá nhiều thông tin, thì rất có thể gây ra trường hợp máy chủ cơ sở dữ liệu hoạt động chậm chạp; Thay vào đó, hãy theo dõi những thông tin cần thiết và không quá nhiều.
Ngay khi chọn sự kiện Showplan XML, bạn sẽ thấy tiêu đề của Performance là thẻ Events Extraction Setting. Thẻ này đưa ra hai tùy chọn để lưu dữ liệu XML từ theo dõi Profiler. Tùy chọn đầu tiên cho phép bạn lưu sơ đồ thực thi được tạo ra từ việc theo dõi một hay nhiều tài liệu XML. Tùy chọn này khá hay bởi vì nó lưu trữ các sơ đồ thực thi trong một tập tin .sqlplan mà bạn có thể mở bằng SQL Server Management Studio để xem. Tùy chọn này cho phép bạn xem được tất cả các sơ đồ thực thi xảy ra cùng một lúc. Xem Hình B và Hình C.
Hình B
Hình C
Loại bỏ tất cả những sự kiện nào liên quan đến thông tin đăng nhập hay các kết nối hiện hữu. RPC: Những sự kiện được hoàn thành trong mỗi bước thực hiện một thủ tục gọi cơ sở dữ liệu từ xa. Điều này sẽ theo dõi thủ tục lưu trữ đầu tiên được gọi từ bất kỳ ứng dụng nào tìm thấy cơ sở dữ liệu.
Bạn nên chắc chắn rằng sẽ không theo dõi bất kỳ dữ liệu không cần thiết nào. Bạn nên bỏ thủ tục lưu trữ sp_reset_connection bởi vì nó được gọi bởi công cụ cơ sở dữ liệu cho các mục đích kết nối nhóm. Để thực hiện điều này, bạn kích nút Column Filters tại cửa sổ Trace Properties như trong Hình D. Cửa sổ Edit Filter này hiển thị những cột bạn đã chọn và có thể tiếp tục lọc. Các cột ObjectName không được chọn, vì vậy bạn sẽ chỉ lọc trên các cột TextData. Sau đó nhập các thủ tục lưu trữ vào trong mục Not Like. Điều này sẽ ngăn chặn việc gọi các cơ sở dữ liệu đưa vào bảng theo dõi. Bạn cũng có thể sử dụng một số bộ lọc khác như: Bộ lọc LoginName (Nếu như muốn thấy hoạt động cơ sở dữ liệu của một người dùng nhất định) hoặc là các cột Duration và Reads (nếu đang tìm kiếm các truy vấn đặc biệt). Sau khi đã chọn bộ lọc, bạn có thể bắt đầu quá trình theo dõi.
Hình D
Hình E là một danh sách các hoạt động trên máy chủ. Một số cơ sở dữ liệu trên máy chủ đã được thiết lập cho bản sao giao dịch nhằm giải thích việc gọi một số các thủ tục hệ thống bản sao. Ví dụ dưới đây nhấn mạnh một trong số các sự kiện Showplan XML đưa ra các sơ đồ thực hiện trực quan giống nhau nếu chúng được thực hiện tại Management Studio. Đây là Một công cụ đáng kinh ngạc để ngay lập tức chỉ ra những vấn đề tiềm năng đối với các truy vấn.
Hình E
Hình F hiển thị kết quả. Tập tin SQLPlan được tạo ra từ theo dõi bạn vừa thực hiện. SQL Server Management Studio nhận biết các kiểu tập tin này, vì vậy bạn có thể mở tập tin để thấy được tất cả các sơ đồ thực hiện được nắm bắt bởi theo dõi SQL, rất thuận tiện cho việc điều chỉnh các mục đích.
Hình F