SQL Profiler (SQL Server 2000), как фильтровать только мои действия?

У нас есть большая система с несколькими сотнями одновременных пользователей, поэтому профилировщик sql дает немного слишком много информации без соответствующих фильтров. Я хотел бы видеть, какие команды SQL выполняются под моей учетной записью и моей учетной записью. С учетом я имею в виду имя пользователя, которое я использую для входа в систему. Эти имена пользователей хранятся в обычной таблице базы данных и, следовательно, не могут быть введены в какой-либо фильтр в профилировщике sql, я думаю? Но каждый пользователь, который входит в систему, может иметь уникальный идентификатор, даже если вы все используете один и тот же логин/пользователь SQL?

Итак, вопрос в основном состоит в том, как получить это уникальное значение и какой фильтр использовать? Или есть ли способ увидеть это и только это в sql-профилировщике?

Ответ 1

Вы можете получить имя хоста машины, подключающейся к SQL-серверу. На вкладке Свойства трассировки/событий отметьте опцию Показать все столбцы, а затем в Фильтры столбцов вы можете указать HostName. > .

Если вы хотите узнать имя хоста машины, которую используете, то в командной строке введите hostname

Ответ 2

Каждое приложение, которое подключается к SQL Server, имеет уникальный идентификатор хоста (значение, возвращаемое функцией HOST_ID()), и вы можете его фильтровать. Конечно, сначала вам нужно подключиться к базе данных из вашего приложения, чтобы получить свой идентификатор хоста.

Идентификатор узла также можно найти в столбце hostprocess системной таблицы sysprocesses. А в Профилире это называется ClientProcessId.