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