У нас есть приложение, которое будет собирать данные и хранить их на локальных компьютерах с WinXP, используя Microsoft SQL Server Compact. Мы хотим объединить эти данные в единый полноценный SQL Server для создания отчетов и архивирования. Передача данных должна быть достаточно непрерывной (т. е. не пакетной), хотя допустима некоторая задержка (минута или две максимум).
Данные — это односторонняя передача от коллекторов к серверу. Сборщикам никогда не нужно знать, что делают другие сборщики, и первичный сервер никогда не будет обновлять данные обратно на сборщике. Текущие планы рассчитаны на 5 сборщиков, но масштабируемость практически не ограничена.
Мы должны предположить, что мы будем «в основном подключены», но мы не можем гарантировать подключение коллекторов к серверу. Если сервер или сеть выйдет из строя, мы по-прежнему будем собирать данные, и данные будут возвращены, когда сервер снова станет доступным.
В идеале нам нужно решение, которое мог бы установить инженер, не занимающийся программированием, после того, как мы выполнили работу с инфраструктурой. Итак, мы можем писать код и мастеров, но нельзя предположить, что конечный пользователь что-либо знает о написании кода, хотя он и будет обладать достаточной технической компьютерной грамотностью.
Прямо сейчас у нас есть две технологии-кандидата на это:
- SQL-репликация
- Службы синхронизации Майкрософт
У нас мало опыта работы с первым, но мы знаем, что настройка подписок и т. д. в SQL Server болезненна, а их отладка не доставляет удовольствия, поэтому мы пытаемся найти альтернативу.
Мы почти ничего не знаем о № 2, только то, что он был предложен в качестве альтернативы для передачи данных устройства на сервер.
Есть ли у кого-нибудь опыт работы с таким сценарием или с одной из этих технологий или с чем-то, о чем мы не думали, чем они могут поделиться? SQL Compact на сборщиках является фиксированным требованием. SQL Server на сервере не требуется, но желателен, поскольку он уже есть у заказчика.