Использование Sync Framework с отслеживанием изменений SQL 2008 как на локальном, так и на удаленном
Я хочу иметь возможность использовать Microsoft Sync Framework для синхронизации двух баз данных SQL 2008, которые обе используют функцию отслеживания изменений SQL 2008. Один будет сервером, а другой - локальным экземпляром SQLExpress с использованием модели хаба и луча.
Есть некоторые намеки на то, что другие сделали это, а именно: синхронизация баз данных SQL Server 2008 по HTTP с использованием WCF и Sync Framework. Однако для этого решения требуется "SqlExpressClientSyncProvider, доступный на сайте проекта MSF codeplex в качестве поставщика синхронизации клиента". Этот же SqlExpressClientSyncProvider намекается и в других местах. Однако он либо больше не существует, либо очень хорошо скрывается от моих попыток найти его.
Большинство ссылок и предложений, с которыми я столкнулся при поиске, в конечном итоге указывают на сайт примеров MSDN, на котором есть несколько примеров (например, этот http://code.msdn.microsoft.com/Database-SyncSQL-Server-a9752fac) которые демонстрируют использование инфраструктуры синхронизации с помощью настраиваемого аудита изменений, что добавляет к схеме много видимых накладных расходов, таких как таблицы надгробий, триггеры и т. д. Это то, чего я хочу избежать.
Я был бы счастлив со ссылкой на биты для SqlExpressClientSyncProvider, однако я подозреваю, что он построен для MSF 1.0. Если есть способ "MSF 2.1" сделать это с помощью классов SqlProvider или чего-то подобного, это было бы здорово.
1 ответ
Отслеживание изменений SQL Server поддерживается только в более старом автономном поставщике (SqlCeClientSyncProvider/DbServerSyncProvider), который является теми же поставщиками, которые используются элементом проекта Local Database Cache в Visual Studio.
более новый SqlSyncProvider/SqlCeSyncProvider использует настраиваемый механизм отслеживания, и потребуется немало настроек, чтобы заставить его работать с отслеживанием изменений Sql, за исключением написания собственного настраиваемого поставщика.
SqlExpressClientSyncProvider - это типовой поставщик, который с тех пор был удален MS с сайта загрузки.
эта ссылка по-прежнему содержит некоторые фрагменты: http://www.8bit.rs/blog/2009/05/debugging-sql-express-client-sync-provider/