Giám sát cơ sở dữ liệu với SQL Profiler Quản Trị Mạng - SQL Server Profiler là một công cụ ghi chép hiệu quả, đi kèm với SQL Server.. Profiler cho phép bạn quản lý và nắm bắt được những
Trang 1Giám sát cơ sở dữ liệu với SQL Profiler
Quản Trị Mạng - SQL Server Profiler là một công cụ ghi chép hiệu quả, đi kèm với SQL Server Profiler cho phép bạn quản lý và nắm bắt được những hoạt động đang diễn ra trong cơ sở dữ liệu của bạn, bao gồm adhoc truy vấn, lưu trữ các yêu cầu, đăng nhập, lỗi, Hôm nay, chúng ta sẽ tìm hiểu cách sử dụng Profiler để làm rõ những điều trên
Giả sử rằng chúng ta có một ứng dụng tên SOCK chạy dựa vào cơ sở dữ liệu
SOCKsql, trên SwampTest server Nếu muốn hiển thị truy vấn T-SQL tác dụng vào cơ sở dữ liệu khi một người dùng truy cập vào SOCK, chúng ta sẽ phải:
1 Khởi động SQL Server Profiler và thiết lập bản ghi
2 Chạy bản ghi trong khi thực hiện đăng nhập ứng dụng SOCK
3 Dừng chạy bản ghi và kiểm tra kết quả lưu được
Khởi động SQL Server Profiler
Bạn có thể khởi động SQL Profiler từ menu Start, hoặc trong SQL Server
Management Studio (SSMS), dưới menu Tools Một cách khác để mở SQL
Profiler là Start > Run > Profiler Khi được mở ra, Profiler sẽ hiển thị bạn hộp
Trang 2thoại Connect to Server Tiếp đến, bạn sẽ phải điền tên của máy chủ bạn muốn tạo bản ghi, cùng với thông tin xác nhận Sau đó, kích Connect
Cửa sổ Trace Properties sẽ cho phép bạn điều chỉnh bản ghi bạn muốn Trên thẻ General, bạn có thể điền tên một Trace, chọn template, chọn phương thức lưu và bật thời gian dừng truy vấn
Trang 3Tại thẻ Event Selection, chúng ta chọn sự kiện cơ sở dữ liệu và thuộc tính mỗi sự kiện chúng ta muốn ghi lại Sự kiện được chọn là một phần của template chuẩn chúng ta thấy ở thẻ General
Gần cuối bên trái của màn hình, chúng ta có 2 ô nhỏ Ô “Show all events” hiển thị tất cả các sự kiện chúng ta có thể truy vấn với Profiler Hãy nhìn qua những mục
có trong đó rồi hãy tích vào đó
Kiểm tra hộp thoại “Show all columns” giúp chúng ta có thể thấy tất cả những thuộc tính của mỗi sự kiện
• Chúng ta không cần Audit Login và Audit Logout events today, vì vậy không cần tích vào đó
• Bạn sẽ cần tới “ExistingConnection”, không có nó, tất cả các hành động được thực hiện bởi kết nối hiện thời sẽ không được hiển thị
• RPC: Completed - “Remote Procedure Call: Completed” Ứng dụng SOCK hầu như chỉ tận dụng RPCs, vì vậy chúng ta sẽ phải tích vào đó
• SQL:BatchStarting và SQL:BatchCompleted sẽ hiển thị mở đầu và kết thúc của nhóm lệnh T-SQL Bạn không nhất thiết phải tích vào đây