Как правильно подойти к вопросу: просмотр запросов к базе данных FireBird через IBExpert?

Ссылка скопирована
1 ответ

По вводным: нужно посмотреть какие запросы идут к базе данных FireBird. Зарегистрировал базу в
По вводным: iBExpert под пользователем SYSDBA, подключаюсь, запускаю Database monitoring.
Нужно понять: запускаю приложение и иду в раздел Statements запросы не появляются. Что делаю не так?

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Дмитрий К. Ответ

В Firebird через IBExpert можно смотреть активные подключения и запросы, но возможности зависят от версии Firebird. Для Firebird 2.5+ есть monitoring tables: MON$ATTACHMENTS, MON$TRANSACTIONS, MON$STATEMENTS. Именно они показывают, кто подключён и какие statements выполняются.

Пример запроса активных SQL:

SELECT
  s.mon$statement_id,
  a.mon$user,
  a.mon$remote_address,
  s.mon$sql_text,
  s.mon$timestamp
FROM mon$statements s
JOIN mon$attachments a ON a.mon$attachment_id = s.mon$attachment_id
WHERE s.mon$state = 1;

select s.mon$statement_id, a.mon$user, a.mon$remote_address, s.mon$sql_text, s.mon$timestamp from mon$statements s join mon$attachments a on a.mon$attachment_id = s.mon$attachment_id where s.mon$state = 1;

Если нужно увидеть долгие транзакции:

SELECT
  t.mon$transaction_id,
  a.mon$user,
  t.mon$timestamp,
  t.mon$state
FROM mon$transactions t
JOIN mon$attachments a ON a.mon$attachment_id = t.mon$attachment_id;

select t.mon$transaction_id, a.mon$user, t.mon$timestamp, t.mon$state from mon$transactions t join mon$attachments a on a.mon$attachment_id = t.mon$attachment_id;

В IBExpert эти запросы можно выполнять как обычный SQL. Также в инструменте есть окна мониторинга/Services, но прямые запросы к MON$ часто понятнее.

Важно: monitoring tables показывают текущую активность, а не полный исторический лог всех запросов. Если нужен аудит за период, используйте trace/audit Firebird или логирование на уровне приложения.

Итог: для просмотра текущих запросов используйте MON$STATEMENTS и связанные monitoring tables. Для истории запросов включайте Firebird trace или отдельное логирование, потому что IBExpert сам по себе не хранит весь прошлый SQL.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно