SQL Server Profiler-как фильтровать трассировку только для отображения событий из одной базы данных?
Как ограничить трассировку профилировщика SQL Server определенной базой данных? Я не вижу, как фильтровать трассировку, чтобы не видеть события для всех баз данных на экземпляре, к которому я подключаюсь.
5 ответов
В разделе свойства трассировки > вкладка выбор событий > выберите Показать все столбцы. Теперь в разделе фильтры столбцов вы должны увидеть имя базы данных. Введите имя базы данных для раздела Like, и вы увидите трассировки только для этой базы данных.
в SQL 2005 сначала необходимо показать столбец имя базы данных в трассировке. Проще всего выбрать шаблон настройки, в который уже добавлен этот столбец.
предполагая, что у вас выбран шаблон настройки, чтобы фильтровать:
- перейдите на вкладку "Выбор событий"
- Нажмите кнопку "фильтры столбцов"
- проверить показать все столбцы (справа вниз)
- выберите "DatabaseName", нажмите плюс рядом с Like в правая панель и введите имя базы данных.
Я всегда сохраняю трассировку в таблицу, чтобы я мог делать запросы к данным трассировки после факта.
экспериментально я смог наблюдать это:
когда профайлер SQL 2005 или SQL профайлера 2000 используется с проживанием базы данных в SQL сервер 2000 - проблема, проблема сохраняется, но когда профайлера SQL 2005 используется с базы данных SQLServer 2005, она работает идеально!
В общем, проблема, похоже, распространена в SQLServer 2000 и исправлена в SQLServer 2005.
решение проблемы при работе с SQLServer 2000 (как объясняется wearejimbo)
-
определите DatabaseID базы данных, которую вы хотите отфильтровать, запросив таблицу sysdatabases, как показано ниже
SELECT * FROM master..sysdatabases WHERE name like '%your_db_name%' -- Remove this line to see all databases ORDER BY dbid
используйте фильтр DatabaseID (вместо DatabaseName) в новом окне трассировки SQL Profiler 2000
в свойствах трассировки щелкните Выбор Событий вкладка вверху рядом с общие. Затем нажмите Фильтры Столбцов... в правом нижнем углу. Затем вы можете выбрать, что фильтровать, например TextData
или DatabaseName
.
развернуть как узел и введите свой фильтр с процентом %
знаки типа %MyDatabaseName%
или %TextDataToFilter%
. Без %%
знаки фильтр не будет работать.
кроме того, не забудьте проверить флажок исключить строки, которые не содержат значений' если вы не можете найти поле, которое хотите отфильтровать, например DatabaseName
перейти к общие tab и изменить свой шаблон, бланк должен содержать все поля.