SQL Server Profiler - Как отфильтровать трассировку, чтобы отображать события только из одной базы данных? - PullRequest
356 голосов
/ 07 ноября 2008

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

Ответы [ 5 ]

532 голосов
/ 07 ноября 2008

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

38 голосов
/ 07 ноября 2008

В SQL 2005 сначала необходимо отобразить столбец «Имя базы данных» в вашей трассировке. Проще всего выбрать шаблон Tuning, в который уже добавлен этот столбец.

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

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

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

8 голосов
/ 03 декабря 2008

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

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

4 голосов
/ 21 июля 2015

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

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

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

1 голос
/ 31 марта 2009

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

...