Một trình thám thính SQL tốt


7

Bất cứ ai cũng có thể chỉ cho tôi một trình thám thính SQL tốt, nơi tôi có thể xem các lệnh SQL chạy với cơ sở dữ liệu của tôi trong thời gian thực?

Nếu nó miễn phí, điều đó sẽ rất tuyệt.

Câu trả lời:


24

Sử dụng Dấu vết SQL và nếu bạn đang tìm kiếm GUI đi cùng với nó, bạn có thể sử dụng SQL Profiler . Nó vận chuyển với tất cả các phiên bản SQL Server ngoại trừ SQL Server Express. SQL Trace được sử dụng trực tiếp thông qua T-SQL và có sẵn ngay cả với SQL Server Express, mặc dù kiến ​​thức làm việc khá tốt về SQL Trace là đáng mong đợi vì có thể hơi khó khăn khi thiết lập mà không cần GUI.

Những gì bạn sẽ làm là chọn các sự kiện liên quan đến các câu lệnh / lô SQL / các thủ tục được lưu trữ đang thực thi. Bạn sẽ có thể chụp (các) câu lệnh văn bản thực tế.

Nếu bạn không muốn vật lộn với việc chọn ra các sự kiện có sẵn (và nhiều ), bạn có thể sử dụng một mẫu có sẵn. Nghe có vẻ như bạn có thể muốn sử dụng mẫu T-SQL , nhưng hãy xem qua nó trước khi chỉ mù quáng chạy theo dõi.

Tham chiếu BOL trên SQL Profiler

Tại trang web của tài liệu tham khảo được liên kết đó, có một số "nhiệm vụ" (hướng dẫn) để giúp bạn bắt đầu đi đúng hướng.

EDIT : Aaron đưa ra một điểm tốt (xem bình luận). Việc sử dụng SQL Server Profiler thường được sử dụng để xem nhanh hoặc theo dõi tương đối ngắn để thực hiện một số khắc phục sự cố. Chắc chắn có những tác động hiệu suất, và tôi đã thấy các máy chủ bận rộn phải quỳ xuống vì điều đó. Nếu bạn đang tìm kiếm một dấu vết tác động hiệu suất dài hơn, ít hiệu quả hơn, tôi sẽ tìm cách sử dụng T-SQL để tạo các dấu vết phía máy chủ. Một sự thay thế tuyệt vời khác là Sự kiện mở rộng .

Tham khảo BOL về các sự kiện mở rộng


4
+1 nhưng tôi cũng sẽ đề cập đến việc tạo kịch bản theo dõi phía máy chủ và gửi đầu ra tới một tệp (hoặc bảng nếu bạn phải) và xem xét các sự kiện sau thực tế, sẽ có tác động thấp hơn nhiều đến sản xuất máy chủ hơn là mở profiler và cố gắng xem hoạt động trong thời gian thực. Ngay khi bạn bắt đầu bơm đầu ra đó cho giao diện người dùng chuột mickey của Profiler, bạn sẽ gặp rắc rối. Tôi biết đó là những gì bạn muốn nói, chỉ muốn nói rõ hơn về lý do tại sao UI "kém tốt".
Aaron Bertrand

1
@AaronBertrand Điểm tuyệt vời, và tôi đã chỉnh sửa bài viết của mình để nói rõ điều đó. Profiler có thể làm cho một ngày tồi tệ thậm chí tồi tệ hơn ... rất nhanh chóng. :)
Thomas Stringer

Nó phụ thuộc vào khoảng thời gian được đặt để làm mới nếu sử dụng để xem mọi câu lệnh sql đang được chạy. Tôi tin rằng nếu được đặt thành 10 giây hoặc thấp hơn thì bạn sẽ ảnh hưởng đến hiệu suất. Mặt khác, SQL profiler đã được xây dựng trong các mẫu theo dõi và được sử dụng để tìm các vấn đề về hiệu năng. UI không làm cho nó trở thành một vấn đề về hiệu năng hoặc vấn đề tương tự có thể xảy ra khi chạy tập lệnh powershell. Điểm hợp lệ mặc dù để coi chừng.
SoftwareCarpenter

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.