Вопрос

У меня есть базовая / простая необходимость создания процесса передачи трубопровода из одной базы данных SQL Express 2008 на другой сервер (в равной степени SQL 2008 Express).

В принципе:

  1. У меня есть одна таблица на сервере A, которая имеет данные, входящие в данные, и поле по умолчанию под названием «загружено», который снова по умолчанию установлен на «n»

  2. У меня такая же схема стола на сервере B

  3. На принципиальной основе (скажем, каждые 10 минут), мне необходимо получить все записи с сервера A, где «загружено» настроен на «n», и скопируйте всю запись на сервер B

  4. Поскольку каждая запись с сервера A читается / успешно скопирована на Server B, я устанавливаю «загруженный» флаг на «Y» (с полем Timestamp тоже).

Из старых воспоминаний я использовал DTS (теперь SSIS, я думаю), чтобы сделать что-то похожее .. Но, конечно, SQL Express не имеет любителей !!

Вопрос:

Это просто случай для DataReader SQL, чтобы получить данные с сервера A и вручную либо вставить оператор SQL на сервер B (или курс, конечно) ?? Любые другие пустышки?

Спасибо за все комментарии ...

Это было полезно?

Решение

О, не используйте флаги! Они не хороши для индексации.

Добавьте два столбца как к источникам, так и на целевые таблицы: dt_created dt_modified.

Добавьте индекс на каждом.

Из вашей целевой базы данных выберите исходную базу данных / таблицу для DT_CREATED> MAX (TALL TABLE.DT_CREATED). Это ваши новые записи. Сделайте то же самое для DT_Modified, и это будут ваши модифицированные записи. Видеть! Бедная репликация человека.

Другие советы

Ну как насчет mysql с репликацией? Дешевые и слабил :-) Но я афрагую, уже поздно менять БД ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top