2015-05-22 2 views
0

У меня есть базы данных на двух разных серверах. Мне нужно регулярно извлекать новые записи из таблицы на сервере A и обрабатывать их, чтобы использовать их для обновления таблицы на сервере B (с другой схемой). Я собирался использовать триггер для этого, но если это не удается, вставки на сервере A откатятся. Вставки в таблице A не должны прерываться, поэтому обновление сервера B должно быть как можно более развязано от этого. Теперь я думаю об использовании запланированного sproc на сервере B для получения результатов от сервера A и сервера обновлений B. Это нужно будет запускать каждые 30 секунд. Что-то не так с этим подходом, или есть лучший или более «правильный» способ достижения этого?Периодически обновлять таблицу с новыми записями с другого сервера

+0

Вы ищете репликацию. Также возможно с заданиями или услугами Windows. –

+0

вам необходимо иметь связанный сервер с серверомB внутри сервераA и обновить serverB через него. вам может понадобиться репликация или зеркалирование, лучше спросить об этом на [dba.stackexchange] (http://dba.stackexchange.com), вы получите отличные ответы, здесь большинство пользователей - разработчики не dba – jfun

+0

Там будет 30 секундный промежуток между двумя вашими сервисами, это нормально, если вы не возражаете. Вы также можете попробовать уловить ваш триггер, чтобы предотвратить откат. Или найдите репликацию SQL Server для более надежного способа синхронизации серверов. – Tim3880

ответ

1

Я думаю, что создание запланированного задания в SQL Server Agent - это путь сюда. Это может привести к простой хранимой процедуре (если логика простейшая) или пакет SSIS (где он более сложный).

Только последнее примечание о триггерах: если возможно, я всегда старался избегать использования триггеров. Они могут иметь «непреднамеренные» или «таинственные» побочные эффекты, их трудно отлаживать, и разработчики часто могут забыть проверять триггеры при попытке решить проблему. Это не значит, что они тоже не предлагают льготы, но я думаю, вам нужно быть осторожным с ними.