Сравните две таблицы и отразите / синхронизируйте изменения в одной из них - PullRequest
2 голосов
/ 26 июня 2019

Существует таблица mssql во внешней сети клиента.Цель состоит в том, чтобы создать и отразить одну и ту же таблицу на локальном сервере.Внешнюю таблицу mssql, конечно, можно менять (данные) каждый час, и каким-то образом мне приходится проверять изменения и отражать эти изменения в локальной таблице при добавлении / удалении или обновлении новых строк.Есть ли эффективный способ сделать это?Кроме того, я знаю, что эта таблица будет иметь тысячи записей.Прежде всего, я подумал о каком-либо приложении службы Windows, но понятия не имею, какой подход сделать, я не думаю, что набор данных / набор данных в отношении такого количества записей - это хорошо, так как я помню, как память исключалась в прошлом.Есть идеи?

1 Ответ

1 голос
/ 26 июня 2019

Я бы хотел создать триггеры для существующих таблиц, которые при вставке, обновлении и удалении будут вставлять в новую таблицу синхронизации (или таблицу синхронизации для существующей таблицы), которая будет отмечать изменения, ожидающие синхронизации. Ваш код C # будет читать из этой таблицы по расписанию, вносить изменения в локальную БД и удалять строки из таблицы «в ожидании».

Например, так работает синхронизация данных SQL Azure; он создает таблицу для каждой существующей таблицы в исходной таблице, а затем проверяет все эти таблицы. Я думаю, что в зависимости от того, сколько у вас таблиц, структуры и т. Д., Вы могли бы вместо этого написать что-то вроде JSON только в одной таблице, и было бы проще проверить одну таблицу, чем множество (очевидно, это зависит от того, сколько реальных таблиц у нас ' о чем)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...