[MSSQL][SQL server profiler] – Công cụ theo dõi câu lệnh TSQL truy cập vào Database Engine


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.

2015-04-17_093747

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

2015-04-17_093109

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

2015-04-17_094149

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”

2015-04-17_095022

2015-04-17_095109

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.
2015-04-17_095535

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

2015-04-17_100138

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
2015-04-17_100346
Tôi sẽ để các thông tin trên theo mặc định và nhấn “Run”
2015-04-17_100855
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
2015-04-17_101056
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.
2015-04-17_101501

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.
2015-04-17_101807

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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s