2009-12-18 30 views
10

Chúng tôi có một hệ thống lớn với hàng trăm người dùng đồng thời để hồ sơ sql cung cấp cho một chút quá nhiều thông tin mà không có bộ lọc thích hợp. Tôi muốn xem những gì các lệnh SQL được chạy trong tài khoản của tôi và chỉ tài khoản của tôi. Với tài khoản tôi có nghĩa là tên người dùng tôi sử dụng để đăng nhập vào hệ thống. Những tên người dùng được lưu trữ trong một bảng cơ sở dữ liệu thông thường và do đó không thể như vậy được nhập vào bất kỳ bộ lọc trong hồ sơ sql, tôi đoán? Nhưng mỗi người dùng đăng nhập có thể có một số id duy nhất dù sao, tất cả chúng ta đều sử dụng cùng một đăng nhập/người dùng SQL?SQL Profiler (SQL Server 2000), làm cách nào để lọc các hoạt động của tôi?

Vì vậy, câu hỏi chủ yếu là cách lấy giá trị duy nhất đó và bộ lọc nào để sử dụng? Hoặc là có cách nào để xem điều này và chỉ này trong hồ sơ sql?

Trả lời

2

Mỗi ứng dụng, kết nối với Máy chủ SQL, có một id máy chủ duy nhất (giá trị được trả về bởi hàm HOST_ID()) và bạn có thể lọc trên đó. Tất nhiên, trước tiên bạn phải kết nối với cơ sở dữ liệu từ ứng dụng của bạn, để có được id máy chủ của bạn.

Id máy chủ cũng có thể được tìm thấy trong cột hostprocess của bảng hệ thống sysprocesses. Và trong Profiler nó được gọi là ClientProcessId.

18

Bạn sẽ có thể nhận được tên máy chủ của máy kết nối với máy chủ SQL. Trong vết Properties/Event Mục tab, đánh dấu vào Hiện tất cả Cột tùy chọn sau đó trong lọc Cột bạn có thể chỉ định HostName.

Nếu bạn muốn biết tên máy chủ của máy bạn đang sử dụng thì tại dấu nhắc lệnh loại hostname

+0

Cảm ơn! Cố gắng này đầu tiên và nó hoạt động đẹp. – Micke

+0

Xin chào, điều này không hoạt động trong SQL Server 2012, bạn có biết tại sao không? , tôi chỉ lọc tên máy chủ của mình .. nhưng có vẻ như tên máy chủ của máy chủ IIS là người được gọi trong cấu hình máy chủ sql. – Japongskie

Các vấn đề liên quan