Làm cách nào để giới hạn theo dõi SQL Server Profiler vào một cơ sở dữ liệu cụ thể? Tôi không thể xem cách lọc theo dõi để không thấy các sự kiện cho tất cả các cơ sở dữ liệu trong trường hợp tôi kết nối.
Làm cách nào để giới hạn theo dõi SQL Server Profiler vào một cơ sở dữ liệu cụ thể? Tôi không thể xem cách lọc theo dõi để không thấy các sự kiện cho tất cả các cơ sở dữ liệu trong trường hợp tôi kết nối.
Câu trả lời:
Trong Thuộc tính dấu vết> tab Lựa chọn sự kiện> chọn hiển thị tất cả các cột. Bây giờ dưới bộ lọc cột, bạn sẽ thấy tên cơ sở dữ liệu. Nhập tên cơ sở dữ liệu cho phần Thích và bạn sẽ chỉ thấy dấu vết cho cơ sở dữ liệu đó.
before
bắt đầu theo dõi. Nếu bạn làm điều đó sau - trường sẽ không thể chỉnh sửa!
Trong SQL 2005, trước tiên bạn cần hiển thị cột Tên cơ sở dữ liệu trong theo dõi của bạn. Cách dễ nhất để làm là chọn mẫu Điều chỉnh, đã thêm cột đó.
Giả sử bạn đã chọn mẫu Điều chỉnh, để lọc:
Tôi luôn luôn lưu dấu vết vào một bảng để tôi có thể thực hiện các truy vấn THÍCH trên dữ liệu theo dõi sau khi thực tế.
Bằng thí nghiệm tôi đã có thể quan sát điều này:
Khi SQL Profiler 2005 hoặc SQL Profiler 2000 được sử dụng với cơ sở dữ liệu cư trú trong SQLServer 2000 - vấn đề được đề cập vẫn còn, nhưng khi SQL Profiler 2005 được sử dụng với cơ sở dữ liệu SQLServer 2005, nó hoạt động hoàn hảo!
Tóm lại, vấn đề dường như phổ biến trong SQLServer 2000 & được khắc phục trong SQLServer 2005.
Giải pháp cho vấn đề khi giao dịch với SQLServer 2000 là (như được giải thích bởi wearejimbo)
Xác định DatabaseID của cơ sở dữ liệu bạn muốn lọc bằng cách truy vấn bảng sysdatabase như dưới đây
SELECT *
FROM master..sysdatabases
WHERE name like '%your_db_name%' -- Remove this line to see all databases
ORDER BY dbid
Sử dụng Bộ lọc DatabaseID (thay vì DatabaseName) trong cửa sổ Dấu vết mới của SQL Profiler 2000
Trong thuộc tính Trace, nhấp vào tab Lựa chọn sự kiện ở trên cùng bên cạnh Chung . Sau đó nhấp vào Bộ lọc cột ... ở dưới cùng bên phải. Sau đó, bạn có thể chọn những gì cần lọc, chẳng hạn như TextData
hoặc DatabaseName
.
Mở rộng nút Like và nhập bộ lọc của bạn với các %
dấu phần trăm như %MyDatabaseName%
hoặc %TextDataToFilter%
. Không có %%
dấu hiệu bộ lọc sẽ không hoạt động.
Ngoài ra, hãy đảm bảo kiểm tra hộp kiểm Loại trừ các hàng không chứa giá trị ' Nếu bạn không thể tìm thấy trường bạn đang muốn lọc, chẳng hạn như DatabaseName
đi đến tab Chung và thay đổi Mẫu của bạn , một ô trống sẽ chứa tất cả các trường.
Tạo một mẫu mới và kiểm tra DBname. Sử dụng mẫu đó cho dấu vết của bạn.