Генерация общего оператора вставки из существующей строки для отключенной вставки в другую базу данных для синхронизации

В настоящее время у нас есть консольное приложение aC#, которое создает таблицу синхронизации из триггеров, которая позволяет приложению отправлять оператор вставки обновления или удаления в другую копию базы данных на другом сайте. Это обеспечивает синхронизацию таблиц, однако система регулярно падает, и у нас нет исходного кода.

В настоящее время я пытаюсь воссоздать это на сервере SQL.

Таблица синхронизации генерируется в триггере для каждой таблицы и добавляет

TableName Action RowNumer columns_updated
test      Insert 10       0x3
test2     Delete 2        
test      update 15       07x

Из этого я могу сгенерировать оператор вставки, обновления или удаления, который можно запустить на удаленном сервере, но с тысячами строк это будет слишком медленным.

Insert server2.test.column1,column2,column3.column4 select column1,column2,colum3,column4 from
server1.test where row = RowNumber

Я хотел бы сгенерировать оператор вставки на сервере server1, а затем просто запустить его на сервере server 2.

"Insert column1.column2.colum3.column4 into table1 values 110000,New Order, £99.00, 'John Smith'"

У кого-нибудь есть способ записать оператор вставки в строку таблицы в виде строки, готовой для обработки на сервере 2. Этот выбор не должен выполняться в триггере.

то есть прочитать любую строку в любой таблице и преобразовать ее в оператор вставки?

0 ответов

Другие вопросы по тегам