СУБД

Интеграция с какими СУБД поддерживается в Traffic Inspector?

В Traffic Inspector в качестве внешней базы данных могут использоваться следующие СУБД.

Microsoft SQL Server - высокопроизводительный сервер с платной лицензией. Поддерживаются версии Microsoft SQL Server 2005 и выше. Бесплатные версии с приставкой Express в названии имеют существенные ограничения (в частности, по размеру баз данных), а поэтому для использования совместно с Traffic Inspector не подходят. Microsoft SQL Server ̶ высокопроизводительный сервер с платной лицензией.

MySQL - популярный бесплатный сервер, имеющий, однако, относительно низкую производительность при работе с большими отчетами. Не рекомендуется к использованию. Поддерживаются версии 5.0 и выше. Для работы с MySQL на сервере с Traffic Inspector потребуется установка MySQL ODBC 5.1 Driver.

Postgree SQL - высокопроизводительный бесплатный сервер. Поддерживаются версии 8.0 и выше. Для работы с Postgree SQL на сервере с Traffic Inspector потребуется установка OLE DB provider for PostgreSQL.

SQLite - компактная встраиваемая реляционная база данных. В Traffic Inspector используется для хранения данных, если внешняя база не настроена.


Какую СУБД поддерживает Traffic Inspector с интегрированным модулем Billing Operator?

Для работы Traffic Inspector с интегрированным модулем Billing Operator необходимо установить СУБД Microsoft SQL Server. Также возможна установка Express версий этой СУБД.


Не удается подключится к серверу PostgreSQL.

В %ProgramFiles%PostgreSQL9.4datapg_hba.conf пропишите строчку:

host     all     all     192.168.137.10/32     md5

Вместо 192.168.137.10/32 укажите адрес LAN-адаптера Traffic Inspector, с которого будет осуществляться подключение к базе.


Как очистить внешнюю базу?

В настоящее время, не существует способа осушествить очистку внешней базы из интерфейса программы Traffic Inspector.

Вам будет необходимо использовать хранимую процедуру.

Пример хранимой процедуры ClearLog для очистки внешней базы данных MS SQL Server:

CREATE PROCEDURE [dbo].[ClearLog] @Date DateTime, @ServerID int
AS
BEGIN

          DELETE FROM AdminGroupLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM AdminLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM AVLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM ExtCounterLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM NetStatLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM ProxyLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM SMTPFltLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM SMTPSendLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM SMTPTraceLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM TariffLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM UserBillLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM UserCounterLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
          DELETE FROM UserLog WHERE ([Time]<@Date) and (ServerID=@ServerID)
END

При выполнении хранимой процедуры ClearLog должны быть заданы следующие параметры:

@Date: дата, до которой будет произведена очистка данных в таблицах внешней базы данных.
@ServerId: Id сервера, задаваемый при конфигурировании внешнего SQL-сервера (по умолчанию 0).

Пример вызова хранимой процедуры:

Set dateformat DMY
exec dbo.ClearLog '31.01.2009', 0

Ошибка SPECIFIED KEY WAS TOO LONG; MAX KEY LENGTH IS 767 BYTES

ОШИБКА [СИНХРОНИЗАЦИЯ ДАННЫХ] ERROR - ОШИБКА ПРОВЕРКИ БАЗЫ ДАННЫХ НА ВНЕШНЕМ SQL СЕРВЕРЕ - [MYSQL][ODBC 5.1 DRIVER][MYSQLD-5.6.14-LOG]SPECIFIED KEY WAS TOO LONG; MAX KEY LENGTH IS 767 BYTES” НА СУБД MYSQL ВЕРСИИ 5.6 И ВЫШЕ

При использовании СУБД MySQL начиная с версии 5.6 необходимо изменить следующие настройки сервера СУБД:

innodb_file_format=barracuda
innodb_file_per_table=true
innodb_large_prefix=true

Описание с сайта MySQL http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_large_prefix


Ошибка DATABASE DISK IMAGE IS MALFORMED (11)

Данная ошибка означает, что файл встроенной базы данных повреждён.

Возможны два сценария действий:

  1. Попытаться восстановить БД.
  2. Сбросить содержимое БД.

1. Восстановление БД (напримере файла **maindata.db3)**

Скачайте и установите SQLiteExpert, версия Personal.

Остановите службу ТИ. Сделайте резервную копию файл maindata.db3. Подключите SQLiteExpert к базе данных maindata.db3.

В меню Database доступны операции:

  • Check - проверка базы данных на целостность.
  • Reindex all tables - переиндексация таблиц
  • Vacuum - сжатие базы данных

Проделайте эти 3 операции в указанной последовательности.

Некритичные ошибки в БД этим можно вылечить. Но следует учесть, что если были какие-то ошибки, и они потом после лечения пропали, то не исключено то, что какие-то данные все-таки потеряются.

2. Сброс БД

При остановленной службе Traffic Inspector, из папки %ProgramFiles%\TrafInsp\Data удалите файл log.db3. При этом наработанная статистика будет утеряна.


Как настроить подключение к внешней субд в Traffic Inspector

TODO


В чем смысл функционала “Архивирование баз данных”?

TODO