Ответ 1
В разделе "Свойства трассировки" > вкладка "Выбор события" > выберите все столбцы. Теперь под фильтрами столбцов вы должны увидеть имя базы данных. Введите имя базы данных для раздела Like и вы увидите следы только для этой базы данных.
Как ограничить трассировку Profiler SQL Server для конкретной базы данных? Я не вижу, как фильтровать трассировку, чтобы не видеть события для всех баз данных экземпляра, к которому я подключаюсь.
В разделе "Свойства трассировки" > вкладка "Выбор события" > выберите все столбцы. Теперь под фильтрами столбцов вы должны увидеть имя базы данных. Введите имя базы данных для раздела Like и вы увидите следы только для этой базы данных.
В SQL 2005 сначала нужно указать столбец "Имя базы данных" в вашей трассировке. Самое простое - выбрать шаблон настройки, в который уже добавлен этот столбец.
Предполагая, что вы выбрали шаблон настройки, для фильтрации:
Я всегда сохраняю трассировку в таблице, чтобы я мог делать LIKE-запросы по данным трассировки после факта.
В результате эксперимента я смог наблюдать это:
Когда 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
В свойствах трассировки щелкните вкладку "Выбор события" в верхней части рядом с "Общие". Затем нажмите "Фильтры столбцов"... в правом нижнем углу. Затем вы можете выбрать, что фильтровать, например TextData
или DatabaseName
.
Разверните "Like" node и введите свой фильтр с процентными знаками %
, такими как %MyDatabaseName%
или %TextDataToFilter%
. Без значков %%
фильтр не будет работать.
Кроме того, обязательно установите флажок Исключить строки, которые не содержат значений. Если вы не можете найти поле, которое вы хотите фильтровать, например DatabaseName
, перейдите на вкладку "Общие" и измените свой шаблон, пустой должен содержать все поля.
Создайте новый шаблон и проверьте имя. Используйте этот шаблон для вашего файла трассировки.