-
Вложений: 1
Запись данных в БД
Добрый день.
Есть проект реализованный на MasterSCADA 3.5 и и база данных на MS SQL. Замечено, что количество данных записанных в кэш существенно отличается от количества записанных в БД. Куда пропадают недостающие?
Если в процессе работы какое-то время сервер с БД был недоступен, то данные на него, после восстановления связи, не сбрасываются. На сервере все архивы доступны, видимо из кэша, а клиенты доступ к данным не получают. Каким образом происходит процесс передачи недостающих данных и происходит ли вообще?
Опрос архивов приборов происходит через OPC HDA, после восстановления связи с БД записываются только последние значения, изменяется время в столбце LastTime в таблице MasterSCADADataItems, соответственно старые значения не опрашиваются. Можно ли каким-нибудь образом восстановить целостность данных?
-
Пришлите отчет об ошибках и скриншот тренда на котором будет видно пропадание данных.
Если скаду не выключать, то все данные должны в итоге попасть в архив. Если переполнится очередь записи, то данные будут прореживаться, но они не пропадут совсем.
Для того чтобы сформировать отчет об ошибках:
В Режиме Разработки (DT):
"Проект"-> "Отчет об Ошибках"
Поставьте галочку "Включая конфигурацию текущего проекта".
-
Выложил ссылку на отчет
http://files.mail.ru/A22B4929AED8476D85A96177550D8FDD
Каким образом очищается кэш?
Как заставить HDA-клиента считать данные заново, перезаписать те, что уже есть?
-
В логе последние записи от 15 апреля -
04-15 08:09:37.505. [Error] MSSQL 1, ЧМЗ.Цех 18.Корпус 403.ТП№2.Текущие.dT, 1, 11,8524894714355 Норма 15.04.2013 04:09:37.180,
System.Data.SqlClient.SqlException (0x80131904): Журнал транзакций для базы данных "CHMZ_Master_BASE" заполнен. Чтобы обнаружить причину, по которой место в журнале не может быть повторно использовано, обратитесь к столбцу log_reuse_wait_desc таблицы sys.databases
Это может быть если закончилось место на диске или в БД стоит ограничение на размер журнала транзакций. Нужно проверить настройку БД "Recovery model". Если она "Full" то журнал транзакций надо чистить вручную. Если поменять на Simple, то он расти не будет.
Мы также просили скриншот тренда, где видны пропуски данных.
-
Вложений: 2
1-й тренд с клиента, 2-й - с сервера. Часовые архивы
-
Вы проверяли переполнение диска и журнала транзакций?
Сформируйте снова отчет об ошибках.
-
На диске место есть, журнал транзакций очищается. Имеется частичное пропадание данных, можно как-то записать их в базу?
-
Сформируйте снова отчет об ошибках.
-
Не получилось загрузить файл.
ссылка на новый отчет об ошибках
http://files.mail.ru/44CA88B261A6417C8EB9C435E4132193
-
Пришлите нам данные в табличном виде с 16 по 27 апреля (по тому параметру, что на графике). Это можно сделать средствами тренда - включить таблицу значений, скрывать в легенде все параметры кроме нужного, выбрать нужный диапазон и проэкспортировать в файл (csv).
Также вам нужно обновите версию до текущей - направьте запрос на scada(собака)insat.ru. Мы исправили ошибку которая может приводить к указанному вами поведению.