Техническое задание репликация ms sql



Дата18.11.2018
Размер182 Kb.
#60111
ТипЗадача

Техническое задание

Задача:


Необходимо обеспечить синхронизацию из нескольких исходных баз в базы на целевом сервере. На всех серверах установлен MS SQL 2000 Standart.


Требования по реализации:


  1. Синхронизации подлежит конечное число таблиц (около 7).

  2. Данные можно передавать только посредством электронной почты.

  3. Данные пишутся только в исходную базу, целевая база работает в режиме чтения.

  4. Структура данных не меняется. То есть не надо отслеживать и передавать изменения. Реализация должна учитывать то, что структура данных может измениться, в документации должен отображаться механизм настройки под конкретную таблицу.

  5. Необходимо передавать только изменившуюся информацию.

  6. Данные поступают непрерывно. Репликация раз в сутки или по расписанию.

  7. Заложить возможность соединять данные на целевом сервере в одну базе (в не зависимости от количества исходных серверов).

  8. Задача репликация должна корректно отрабатывать после бекапа и восстановления БД. Также может происходить бэкап на исходящем сервере, с последующим восстановлением на целевом.

  9. Должен быть механизм ручной инициации пересылки данных за указанный период. У этих данных, должен стоять приоритет, то есть при наличии данных за этот же период по этому же прибору учета в целевой базе, они должны быть заменены.

Реализация:


Решение поставленной задачи с учетом требований по реализации можно разбить на несколько этапов:

  1. Запуск сбора транспортного файла.

Решается настройкой задачи либо в MS SQL Server либо задачи на уровне OS.

  1. Сбор, подготовка файла

Решается хранимой процедурой размещенной в исходной базе. Хранимая процедура учитывает дату последней репликации. Использует временную базу данных для хранения измененных данных. Делает backup временной базы, сжимает его, делает отметку в таблице логов о том, что сбор транспортного файла завершена.

  1. Отправка его по почте

После сбора пакета выполняется попытка послать пакет по почте. Дальнейшую работу по отправку выполняет внешняя программа.

4) Прием почты, выгрузка из нее файла на диск

По расписанию запускается проверка электронной почты пришедшей на конкретный адрес, и если есть новая почта, то она разбирается, а пакет с данными сохраняется на диске. При этом письма без данных либо в неверном формате игнорируются и удаляются. Вызывается процедура по подготовке данных для экспорта.



5) Подготовка данных для экспорта.

Хранимая процедура. Данные поднимаются во временную БД, делается отметка о приеме файла в таблице логов. Запускает перенос данных в целевую БД.



6) Перенос данных в целевую БД.

Хранимая процедура на целевом сервере, применяет новые данные к целевой базе (добавляет, обновляет). После окончания ставит отметку в таблице логов о том, что данные применены.



Поставка:


1) Скрипт по настройке исходной базы, его функции:

Добавить в таблице поле date_mod и повесить два триггера на insert и update.

Создать таблицу логов.

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

2) Скрипт по настройке целевого сервера, его функции:

Привести структуру таблиц в соответствие с исходной базой.

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

3) Инструкция по настройке и эксплуатации.

4) Список внесенных изменений в базы, с описанием.
Исполнитель:

Сергей Лукин



sergey@look-in.net

ICQ UIN: 113903158


Поделитесь с Вашими друзьями:




База данных защищена авторским правом ©vossta.ru 2023
обратиться к администрации

    Главная страница