Профилировщик SQL Server - как фильтровать трассировку только для отображения событий из одной базы данных?

Как ограничить трассировку Profiler SQL Server для конкретной базы данных? Я не вижу, как фильтровать трассировку, чтобы не видеть события для всех баз данных экземпляра, к которому я подключаюсь.

Ответ 1

В разделе "Свойства трассировки" > вкладка "Выбор события" > выберите все столбцы. Теперь под фильтрами столбцов вы должны увидеть имя базы данных. Введите имя базы данных для раздела Like и вы увидите следы только для этой базы данных.

Ответ 2

В SQL 2005 сначала нужно указать столбец "Имя базы данных" в вашей трассировке. Самое простое - выбрать шаблон настройки, в который уже добавлен этот столбец.

Предполагая, что вы выбрали шаблон настройки, для фильтрации:

  • Перейдите на вкладку "Выбор событий"
  • Нажмите кнопку "Фильтры столбцов"
  • Показать все столбцы (правая сторона вниз)
  • Выберите "DatabaseName", нажмите "плюс" рядом с "Как в правой панели" и введите имя своей базы данных.

Я всегда сохраняю трассировку в таблице, чтобы я мог делать LIKE-запросы по данным трассировки после факта.

Ответ 3

В результате эксперимента я смог наблюдать это:

Когда SQL Profiler 2005 или SQL Profiler 2000 используется с базой данных, находящейся в SQLServer 2000, проблема остается неизменной, но когда SQL Profiler 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) в окне New Trace SQL Profiler 2000

Ответ 4

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

Разверните "Like" node и введите свой фильтр с процентными знаками %, такими как %MyDatabaseName% или %TextDataToFilter%. Без значков %% фильтр не будет работать.

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

Ответ 5

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