Как ограничить трассировку Profiler SQL Server для конкретной базы данных? Я не вижу, как фильтровать трассировку, чтобы не видеть события для всех баз данных в экземпляре, к которому я подключаюсь.SQL Server Profiler - как фильтровать трассировку только для отображения событий из одной базы данных?
ответ
В разделе «Свойства трассировки»> «Вкладка« Выбор события »> выберите все столбцы. Теперь под фильтрами столбцов вы должны увидеть имя базы данных. Введите имя базы данных для раздела Like, и вы увидите следы только для этой базы данных.
В SQL 2005 сначала необходимо указать столбец «Имя базы данных» в вашей трассировке. Самое простое - выбрать шаблон настройки, в который уже добавлен этот столбец.
Если у вас есть шаблон Tuning, выбранный для фильтрации:
- Нажмите на вкладку «Выбор события»
- Нажмите кнопку «Column фильтры» кнопку
- Check Показать все столбцы (правая сторона вниз)
- Выберите «DatabaseName», щелкните значок «плюс» рядом с «Как в правой панели» и введите имя своей базы данных.
Я всегда сохраняю трассировку на столе, чтобы я мог делать 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 узел и ввести фильтр процентных %
знаков, как %MyDatabaseName%
или %TextDataToFilter%
. Без значков %%
фильтр не будет работать.
Кроме того, убедитесь, чтобы установить флажок Исключить строки, которые не содержат значения Если вы не можете найти поле, которое вы ищете, чтобы фильтровать такие как DatabaseName
перейдите на вкладку Общие и изменить свой шаблон, пустое должно содержать все поля.
Я не знаю, является ли это общей проблемой, но когда я запускаю профилировщик, имя базы данных пусто для многих значений, которые я трассирую. Я должен использовать столбец DatabaseID и узнать правильные значения для ввода путем запроса таблицы sysdatabases в основной базе данных. –
. Чтобы найти DatabaseID: SELECT [name], [dbid] FROM [master]. [Dbo]. [Sysdatabases] ORDER BY [name] – Simon
Также зависит от выбранного вами шаблона, если таковые имеются. +1 – beaudetious