Làm cách nào để giới hạn theo dõi Hồ sơ máy chủ SQL đến một cơ sở dữ liệu cụ thể? Tôi không thể xem làm thế nào để lọc các dấu vết để không nhìn thấy các sự kiện cho tất cả các cơ sở dữ liệu trên dụ tôi kết nối với.SQL Server Profiler - Làm thế nào để lọc theo dõi để chỉ hiển thị các sự kiện từ một cơ sở dữ liệu?
SQL Server Profiler - Làm thế nào để lọc theo dõi để chỉ hiển thị các sự kiện từ một cơ sở dữ liệu?
Trả lời
Trong thuộc tính Theo dõi> 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 các 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 Like và bạn sẽ thấy dấu vết chỉ cho cơ sở dữ liệu đó.
Trong SQL 2005, trước tiên bạn cần hiển thị cột Tên cơ sở dữ liệu trong dấu vết của mình. Cách đơn giản nhất là chọn mẫu Điều chỉnh, có cột đó đã được thêm vào.
Giả sử bạn có mẫu Điều chỉnh được lựa chọn, để lọc:
- Bấm "Sự kiện Selection" tab
- Nhấp vào "Bộ lọc Cột" nút
- Kiểm tra Hiển thị tất cả các cột (Right Side Down)
- Chọn "Tên cơ sở dữ liệu", nhấp vào dấu cộng bên cạnh Thích trong ngăn bên phải và nhập tên cơ sở dữ liệu của bạn.
Tôi luôn lưu dấu vết vào bảng để tôi có thể thực hiện các truy vấn LIKE trên dữ liệu theo dõi sau sự kiện.
Bằng thực nghiệm tôi đã có thể quan sát này:
Khi SQL Profiler 2005 hoặc SQL Profiler 2000 được sử dụng với cơ sở dữ liệu cư trú tại SQLServer 2000 - vấn đề vấn đề đề cập vẫn còn, nhưng khi SQL Profiler 2005 được sử dụng với SQLServer cơ sở dữ liệu 2005 , nó hoạt động hoàn hảo!
Trong Tóm tắt thông tin, vấn đề có vẻ là phổ biến trong SQLServer 2000 & sửa chữa trong SQLServer 2005.
Các giải pháp cho vấn đề này 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 sysdatabases như bên dưới
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 Cơ sở dữ liệu (thay vì DatabaseName) trong cửa sổ Theo dõi Mới của SQL Profiler 2000
Tạo mẫu mới và kiểm tra DBname. Sử dụng mẫu đó cho tệp theo dõi của bạn.
Trong thuộc tính Theo dõi, hãy nhấp vào tab Sự kiện lựa chọ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 nội dung cần lọc, chẳng hạn như TextData
hoặc DatabaseName
.
Mở rộng Giống như nút và nhập bộ lọc của bạn với tỷ lệ %
dấu hiệu như %MyDatabaseName%
hoặc %TextDataToFilter%
. Nếu không có dấu hiệu %%
, bộ lọc sẽ không hoạt động.
Ngoài ra, hãy chắc chắn kiểm tra hộp kiểm Loại trừ hàng mà không chứa các giá trị Nếu bạn không thể tìm ra lĩnh vực mà bạn đang tìm kiếm để lọc như DatabaseName
đi đến chung tab và thay đổi Template của bạn, trống nên chứa tất cả các trường.
Tôi không biết đây có phải là vấn đề thường gặp hay không, nhưng khi tôi chạy hồ sơ, tên cơ sở dữ liệu trống cho nhiều giá trị tôi theo dõi. Tôi phải sử dụng cột DatabaseID và tìm ra các giá trị chính xác để nhập bằng cách truy vấn bảng sysdatabases trong cơ sở dữ liệu chính –
Để tìm DatabaseID: SELECT [name], [dbid] FROM [master]. [Dbo]. [Sysdatabases] ORDER BY [tên] – Simon
Cũng phụ thuộc vào mẫu bạn chọn, nếu có. +1 – beaudetious