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)

  1. определите DatabaseID базы данных, которую вы хотите отфильтровать, запросив таблицу sysdatabases, как показано ниже

    SELECT * 
    FROM master..sysdatabases 
    WHERE name like '%your_db_name%'   -- Remove this line to see all databases
    ORDER BY dbid
    
  2. используйте фильтр DatabaseID (вместо DatabaseName) в новом окне трассировки SQL Profiler 2000


в свойствах трассировки щелкните Выбор Событий вкладка вверху рядом с общие. Затем нажмите Фильтры Столбцов... в правом нижнем углу. Затем вы можете выбрать, что фильтровать, например TextData или DatabaseName.

развернуть как узел и введите свой фильтр с процентом % знаки типа %MyDatabaseName% или %TextDataToFilter%. Без %% знаки фильтр не будет работать.

кроме того, не забудьте проверить флажок исключить строки, которые не содержат значений' если вы не можете найти поле, которое хотите отфильтровать, например DatabaseName перейти к общие tab и изменить свой шаблон, бланк должен содержать все поля.


создайте новый шаблон и проверьте DBname. Используйте этот шаблон для своего файла трассировки.