|
|
|
Трассировка в ASE 12.0
|
|||
|---|---|---|---|
|
#18+
Кто знает способ протрассировать ЧУЖУЮ сессию. Sp_showplan не подходит так как ловит только исполняющийся в данный момент запрос Есть ли что нибудь подобное set_sql_trace_in_sessin как в Oracle? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 11:05 |
|
||
|
Трассировка в ASE 12.0
|
|||
|---|---|---|---|
|
#18+
На этот вопрос есть несколько ответов, в зависимости от требований. 1) Можно на сервере включить аудит - это запись всех комманд в специально создаваемую для этого базу данных. Плюс - не требует переконфигурирования клиентов, может быть настроена, минусы - некоторое замедление работы, ограниченность базы аудита по объему (хотя и большая). 2) Начиная с 12.0 с ASE поставляется специальный gateway-сервер Ribo, который пропускает через себя сетевой траффик к и от ASE, и позволяет выводить его в файл. Что выводить - достаточно хорошо настраивается, но только в терминах протокола TDS - перечисляются типы пакетов, которые нужно запоминать. Таким образом можно перехватить запросы, которые посылаются на сервер, и, кстати, ответы, которые сервер присылает клиенту. Плюсы - можно посмотреть буквально все, не грузится основной сервер, на нем не надо ничего переконфигурировать, минусы - нужно переконфигурировать клиента так, чтобы он ходил бы не на основной сервер, а на Ribo-gateway, нельзя как-то фильтровать траффик по логическому назначению ( будет писаться тупо все ), невозможность массовой трассировки ( Ribo сама написана на Java и притормаживает общение клиента с сервером, и вряд ли возможно трассировать более десятка клиентских сессий. Хотя можно конечно и попробовать. ) Также есть еще особенность Ribo - она работает в двух режимах, в режиме без трансляции траффика в текстовый вид (он записывается в спец. бинарный файл и потом может быть преобразован в текстовый вид), и в режиме с трансляцией в текст на ходу, но это, естественно, еще больше тормозит сетевой обмен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 14:27 |
|
||
|
Трассировка в ASE 12.0
|
|||
|---|---|---|---|
|
#18+
Я имел ввиду трассировку команд SQL которые делает чужая сессия. Теперь понял, что легкими способами не обойтись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2004, 17:10 |
|
||
|
Трассировка в ASE 12.0
|
|||
|---|---|---|---|
|
#18+
MasterZivНа этот вопрос есть несколько ответов, в зависимости от требований. 1) Можно на сервере включить аудит - это запись всех комманд в специально создаваемую для этого базу данных. Плюс - не требует переконфигурирования клиентов, может быть настроена, минусы - некоторое замедление работы, ограниченность базы аудита по объему (хотя и большая). Возможно ли отслеживать с помощью аудита все select-запросы от всех пользователей к базе? Основная цель: отследить самые популярные запросы для дальнейшей оптимизации системы. Я знаю, что можно отследить сам факт запроса к конкретной таблице (предположим с названием Customers), при выполнении команды: sp_audit "select", "all", "Customers", "on" . Но цель отследить абсолютно все запросы к любым таблицам, возможно ли это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 10:53 |
|
||
|
Трассировка в ASE 12.0
|
|||
|---|---|---|---|
|
#18+
У вас не та опция sp_audit указана, нужно 'cmdtext'. Опция select ловит только факт обращения к таблице. Вообще всё отследить можно, хотя неудобно (текст запроса разбит на куски) и с некоторыми ограничениями (в параметризированных запросах не будут видны значения параметров). На боевой базе с сотней активных пользователей будет ОЧЕНЬ тормозить. Ещё обратите внимание - аудит на запуск хранимых процедур включается отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2006, 12:45 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=78&tid=2012654]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 430ms |

| 0 / 0 |
