Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как запустить трассировку (профайлер) на конкретную таблицу?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8818
Как запустить трассировку (профайлер) на конкретную таблицу?

Нужно посмотреть ЧТО и КАК селектится из одной конкретной таблицы.

Проблема: Продакшн. Данных много, обращения к таблице нечасты, всё-всё-всё мне НЕ нужно. Не могу настроить фильтры в профайлере.

2008 Standart (SP2) , x64, прав дохера.

--------------------------
No ROM Basic...
4 июн 14, 10:03    [16116841]     Ответить | Цитировать Сообщить модератору
 Re: Как запустить трассировку (профайлер) на конкретную таблицу?  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
SP:StmtCompleted + SQL:StmtCompleted с фильтром по TextData.
Но лучше так не делать на продакшене. А если и делать, то не профайлером, а через sp_trace_* с последующим анализом полученной трассы.
4 июн 14, 10:30    [16117018]     Ответить | Цитировать Сообщить модератору
 Re: Как запустить трассировку (профайлер) на конкретную таблицу?  [new]
gang
Member

Откуда:
Сообщений: 1394
SIMPLicity_,

Так будет более селективно:
audit schema object access event + фильтр по ObjectName или по ObjectID
4 июн 14, 12:31    [16118163]     Ответить | Цитировать Сообщить модератору
 Re: Как запустить трассировку (профайлер) на конкретную таблицу?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8818
invm,
так и сделал. Вроде "взлетело" и не сдохло. Накрячил на таблицу индекс с включёнными полями (пока один, гы-гы),- будем посмотреть что будет в течение дня. Хотя, конечно, фильтр трассы типа like '%NecessaryTableName%' - это пипец, ИМБО.

Понял, что слабоват в трассах. Даже в самой теории трассировки. :-( ... Теперь думаю - чобыпочитать.

PS Полагал, что можно сделать через указание в фильтре ObjectID конкретный ID конкретной таблицы. Ан нет...
5 июн 14, 01:43    [16123512]     Ответить | Цитировать Сообщить модератору
 Re: Как запустить трассировку (профайлер) на конкретную таблицу?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8818
gang,
эээээ.... не въехал, но заинтересовало.. Попробую попозже...
Спасибо!
5 июн 14, 01:45    [16123514]     Ответить | Цитировать Сообщить модератору
 Re: Как запустить трассировку (профайлер) на конкретную таблицу?  [new]
gang
Member

Откуда:
Сообщений: 1394
SIMPLicity_
Накрячил на таблицу индекс с включёнными полями

А какая конечная цель экспериментов с трассировкой? Если оптимизация, то может профайлер вам пока и не нужен.
5 июн 14, 09:40    [16123977]     Ответить | Цитировать Сообщить модератору
 Re: Как запустить трассировку (профайлер) на конкретную таблицу?  [new]
gang
Member

Откуда:
Сообщений: 1394
SIMPLicity_
gang,
эээээ.... не въехал, но заинтересовало.. Попробую попозже...
Спасибо!

Это событие возвращает любой запрос для выполнения которого потребовалось разрешение на доступ к объекту. Проверяются разрешения уровня доступа к данным (select, update, insert, references и т.п.). Команды, для которых нужны разрешения уровня объекта (create, alter, grant permission и т.п.), ловятся другими евентами. Запросы отслеживаются даже если доступ к конечной таблице выполняется через проц-ру, вью, синоним и т.п. Т.е. те события. которые Вы не могли бы отловить фильтром по тексту запроса.
5 июн 14, 09:59    [16124080]     Ответить | Цитировать Сообщить модератору
 Re: Как запустить трассировку (профайлер) на конкретную таблицу?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
gang
SIMPLicity_
Накрячил на таблицу индекс с включёнными полями

А какая конечная цель экспериментов с трассировкой? Если оптимизация, то может профайлер вам пока и не нужен.
+1
Если вам нужно всего лишь посмотреть какие индексы и как использует сервер, то смотрите соответствующую DMV - sys.dm_db_index_usage_stats. Не зачем для этого мучать сервер профайлером.
5 июн 14, 20:11    [16128550]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить