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,.... Nếu muốn hiển thị
Trang 1Giám sát cơ sở dữ liệu với SQL Profiler
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
Trang 2Mộ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 thoạ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
Trang 4hà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
Hãy sử dụng column filters để lọc những dữ liệu chúng ta
không cần Kích vào Column Filters Trong hộp thoại
Edit Filter, chọn DatabaseName rồi kích vào Like và gõ
tên của cơ sở dữ liệu của bạn: SOCKsql Điều này sẽ đảm
bảo Profiler sẽ chỉ ghi lại những sự kiện diễn ra trên cơ sở
dữ liệu SOCKsql
Trang 5Chạy bản ghi
Ở hình minh họa, chỉ có những sự kiện đã được chọn cũng như thời gian mà bản ghi đã được giới hạn Vì vậy, chúng
ta sẽ không bị thừa thông tin không cần thiết và giảm tải cho máy chủ khá nhiều
Khi đã sẵn sàng đăng nhập vào SOCK, kích vào Run trong
SQL Profiler Bạn sẽ thấy “Trace Start” hiển thị trên cùng
trong danh sách sự kiện trong Profiler, tiếp sau đó là một loạt các kết nối hiện thời
Trong ví dụ, chúng ta sẽ chỉ ghi lại các sự kiện liên quan tới đăng nhập SOCK, vì vậy ngay sau khi bản ghi được bắt đầu, chúng ta đã có thể truy cập ứng dụng SOCK Tiếp đến,
Trang 6kích vào nút màu đỏ “stop trace” trong SQL Profiler Như
vậy là chúng đã đã có bảng sự kiện bản ghi
Đọc bản ghi
Nếu muốn, bạn có thể lưu lại các sự kiện này thành 1 file
bằng cách kích vào File > Save As > Trace File, hoặc lưu thành 1 bảng SQL: File > Save As > Trace Table Ví dụ,
chúng ta sẽ lưu dữ liệu này thành 1 bảng SQL, điều này sẽ giúp bạn tìm kiếm một từ nào đó có trong bảng dễ và nhanh hơn
Giờ đây, bạn có thể đọc toàn bộ các sự kiện đã được ghi lại, hoặc tìm kiếm một từ khóa hoặc con số trong bất kì đường
Trang 7nào Khi kích vào bất kì dòng nào, dữ liệu của dòng đó sẽ được hiển thị tại một bảng ở phía cuối của Profiler Chú ý rằng chúng ta đã lọc dữ liệu theo tên của cơ sở dữ liệu, bạn
có thể kiểm tra lại bằng cách kéo sang bên phải bảng để thấy tên của cơ sở dữ liệu đã chọn
Bài giới thiệu ngắn về SQL Profiler này có thể giúp bạn ghi lại những hoạt động của cơ sở dữ liệu mỗi khi cần thiết