有没有办法在不实现所需架构更改的情况下使用Microsoft Sync Framework('_tracking tables')。基本上,我面临着同步两个SQL Server 2008数据库的任务,其中一个是遗留数据库,我们无法对其进行任何架构更改。
是否可以将每个数据库所需的附加表存储在单独的数据库中?
e.g。我有3个表需要同步(员工,客户和销售),通常我们只需添加三个额外的跟踪表,但这是不可能的。相反,我可以拥有一个单独的数据库,其中包含所需的跟踪表(Staff_tracking,Customer_tracking,Sales_tracking),并以某种方式将同步框架指向这个新的db ??
感谢任何帮助,代码示例将超级!
答案 0 :(得分:1)
由于您使用SQL 2008作为数据库,因此只需启用更改跟踪并让SQL Server在内部跟踪更改表,而无需更改实际客户端数据库的架构。 MSDN在this article中很好地解释了它。大约一半的时间你会看到以下内容:
SQL Server 2008引入了一种新的跟踪方法 更改称为SQL Server 2008更改跟踪。背后的概念 更改跟踪是管理员标记某些表 监控变化。从那时起,SQL Server 2008就会跟踪 所做的任何插入,更新或删除。当一个遥控器 “请求者”请求更改,SQL Server 2008将提供所有 自上次成功下载以来发生的更改 由请求者指定。 Sync Framework数据库 已经构建了同步提供程序以利用SQL Server 2008更改跟踪并提供以下优势 OCA环境:
- 无需更改架构即可跟踪更改。
假设您使用的是标准Microsoft同步提供程序,默认情况下会包含更改跟踪支持。