What I want is to be able to use Microsoft Sync Framework to sync two SQL 2008 databases that both use the SQL 2008 change tracking feature. One will be a server and the other will be a local SQLExpress instance, using a hub & spoke model.
There are some hints that others have accomplished this - namely Syncing SQL Server 2008 Databases over HTTP using WCF & Sync Framework. However, that solution requires "SqlExpressClientSyncProvider available from MSF's codeplex project site as Client Sync Provider". This same SqlExpressClientSyncProvider is hinted at elsewhere too. However, it either no longer exists or is hiding really well from my attempts to find it.
Most of the links and suggestions I've come across in my searching end up pointing to the MSDN samples site which has several examples (such as this one http://code.msdn.microsoft.com/Database-SyncSQL-Server-a9752fac) which all demonstrate using the sync framework via custom change auditing - which adds a lot of visible overhead to the schema such as tombstone tables, triggers, etc. This is what I want to avoid.
I'd be happy with a link to the bits for the SqlExpressClientSyncProvider, however, I suspect that it is built for the MSF 1.0 way of doing things. If there is a "MSF 2.1" way to do this via the SqlProvider classes or something along those lines, that would be great.
SQL Server Change tracking is only supported in the older offline provider (SqlCeClientSyncProvider/DbServerSyncProvider) which is the same providers used by the Local Database Cache project item in Visual Studio.
the newer SqlSyncProvider/SqlCeSyncProvider uses a custom tracking mechanism and it will take a great amount of customization to get it to work with Sql Change Tracking short of writing your own custom provider.
the SqlExpressClientSyncProvider is a sample provider that has since been taken out by MS from the download site.
this link still has some bits of it though: http://www.8bit.rs/blog/2009/05/debugging-sql-express-client-sync-provider/