Как ограничить трассировку Profiler SQL Server для конкретной базы данных? Я не вижу, как фильтровать трассировку, чтобы не видеть события для всех баз данных экземпляра, к которому я подключаюсь.
Профилировщик 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
Создайте новый шаблон и проверьте имя. Используйте этот шаблон для вашего файла трассировки.