Як обмежити слід Profiler SQL Server конкретною базою даних? Я не бачу, як відфільтрувати трасування, щоб не бачити події для всіх баз даних в екземплярі, до якого я підключаюсь.
Як обмежити слід Profiler SQL Server конкретною базою даних? Я не бачу, як відфільтрувати трасування, щоб не бачити події для всіх баз даних в екземплярі, до якого я підключаюсь.
Відповіді:
У розділі Властивості трасування> вкладка Вибір подій> виберіть Показати всі стовпці. Тепер під фільтрами стовпців ви повинні побачити ім'я бази даних. Введіть ім'я бази даних для розділу Like, і ви повинні побачити сліди лише для цієї бази даних.
before
починаючи слід. Якщо ви зробите це після - поле не піддається редагуванню!
У SQL 2005 спочатку потрібно показати стовпець Ім'я бази даних у своєму сліді. Найпростіше зробити це вибрати шаблон настройки, до якого вже додано цей стовпець.
Припустимо, що для фільтрування вибрано шаблон настройки.
Я завжди зберігаю слід у таблиці, щоб я міг робити запити LIKE на даних сліду після факту.
Експериментом я зміг це спостерігати:
Коли SQL Profiler 2005 або SQL Profiler 2000 використовується з базою даних, що зберігаються в SQLServer 2000 - проблема, про яку йдеться, зберігається, але коли SQL Profiler 2005 використовується з базою даних SQLServer 2005, вона працює ідеально!
Підсумовуючи це, видається, що проблема є переважаючою у SQLServer 2000 та виправлена у SQLServer 2005.
Рішення проблеми при роботі з SQLServer 2000 є (як пояснено wearejimbo)
Визначте DatabaseID бази даних, яку ви хочете відфільтрувати, запитуючи таблицю баз систем, як показано нижче
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
У властивостях Trace перейдіть на вкладку Вибір подій у верхній частині біля Загального . Потім натисніть Фільтри стовпців ... праворуч внизу. Потім ви можете вибрати фільтрувати, наприклад, TextData
або DatabaseName
.
Розгорніть вузол Like, і введіть свій фільтр із %
знаками відсотків, як %MyDatabaseName%
або %TextDataToFilter%
. Без того%%
знаків фільтр не буде працювати.
Також обов’язково поставте прапорець Виключити рядки, які не містять значень. " Якщо ви не можете знайти поле, яке ви хочете фільтрувати, наприклад, DatabaseName
перейдіть на вкладку" Загальні " та змінити" Шаблон " , пустий повинен містити всі поля.
Створіть новий шаблон і перевірте ім'я DB. Скористайтеся цим шаблоном для свого файлу слідів.