Chào các bạn,
Hôm nay mình sẽ giới thiệu công cụ “SQL Server profiler” công cụ này rất hữu ích cho DBA theo dõi các câu lệnh TSQL(SQL, DDL, DML) truy cập từ ứng dụng vào Database Engine. Dựa vào đó DBA có thể phân tích, đánh giá và cải thiện tốc độ xử lý Database.
I. Chạy chương trình “SQL Server Profiler”
1. Chạy trực tiếp từ “Microsoft SQL Server Management Studio”, chọn Tools\SQL Server profiler
2. Chạy từ tập tin trên đĩa cứng
– Bạn có thể chạy SQL Server Profiler từ tập tin *.exe. Vào thư mục cài đặt Microsoft SQL Server, tìm đến thư mục Tools. Ví dụ tôi cài SQL Server tại đây : C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn
II. Hướng dẫn sử dụng
1. Đăng nhập vào Database Engine
– Trước khi sử dụng Tools, bạn phải đăng nhập vào Database Engine. Lưu ý, Account của bạn đăng nhập vào phải có role là “sysadmin”
2. Thiết lập theo dõi câu lệnh TSQL
– Khi đăng nhập thành công, Tools đòi hỏi bạn thiết lập một số thông số để lọc và theo dõi câu lệnh TSQL từ phía máy khách
– Có hai hình thức lưu trữ kết quả theo dõi của bạn, bạn có thể lưu ra tập tin hoặc lưu vào table của một database/server khác. Với những ứng dụng lớn có hàng nghìn người truy cập thì việc theo dõi các lệnh TSQL này rất lớn, bạn nên cân nhắc nên lưu vào tập tin hay Table cho thích hợp. Theo kinh nghiệm của tôi, tôi sẽ lưu vào table. Từ table tôi có thể lọc và tìm kiếm nhanh hơn.
Tôi sẽ lưu trữ kết quả theo dõi câu lệnh TSQL vào table : table01 vào một Database tạm trên máy tính của tôi
Thiết lập lọc lại các câu TSQL cần theo dõi, như tôi đã nói như trên. Các ứng dụng chuyên nghiệp có lượng truy cập database rất lớn và bạn theo dõi tất cả các câu lệnh TSQL thì không khả thi. Chúng ta chỉ khoanh vùng cần theo dõi bằng các thiết lập và filter
Ở tab “Events Selection” chúng ta có 3 phần chính
+ Events: Bạn có thể chọn loại Event nào cần theo dõi
+Show all events/Show all columns: Có rất nhiều các thuộc tính nâng cao mà bạn cần theo dõi
+ Column Filters/ Organize Columns: Bạn thiết lập lọc dữ liệu trước khi ghi vào dữ liệu theo dõi
Tôi sẽ để các thông tin trên theo mặc định và nhấn “Run”
Database Engine sẽ tiến hành theo dõi và lưu lại các câu lệnh TSQL được truy cập vào từ máy khách
Tôi sẽ thử truy cập vào từ một ứng dụng và sử dụng câu lệnh TSQL xem SQL Server Profiler theo dõi tôi như thế nào
Ví dụ, tôi thử chạy câu SQL : select * from sys.objects trên “Microsoft SQL Server Management Studio” và SQL Server Profiler ghi nhận, tôi chạy bằng chương trình nào, từ hostname nào, v.v.v.v.
Ngoài ra tôi có thể xem lại dữ liệu theo dõi tự động ghi vào table như các bước trên tôi đã thiết lập.
Kết luận: Microsoft cung cấp cho chúng ta một công cụ theo dõi việc truy xuất Database dể giúp quản trị viên có thể theo dõi, thống kê, chuẩn đoán và cải thiện tốc độ xử lý của Database Engine thông qua các dữ liệu thu thập được.