Sync Framework 支持的数据库对象

本主题介绍 Sync Framework 对同步数据库对象的支持。

对等同步

  • DbSyncProvider 支持同步表。它支持架构限定的对象,例如 Sales.Customer,其中 Customer 表的前面加上了 Sales 架构或所有者。

  • 对等同步不提供对等数据库的自动初始化功能。因此,在同步过程中不将表复制到对等数据库。有关对等初始化的更多信息,请参见如何配置和执行协作同步(非 SQL Server)中的“初始化服务器数据库”。

客户端与服务器同步

  • DbServerSyncProvider 支持对服务器数据库中的表进行所有类型的同步。它支持快照同步和仅限下载同步的视图。客户端上单个表包含的数据可以来自服务器上的多个表。有关更多信息,请参见如何在客户端上创建数据视图

  • 无论数据在服务器上如何存储或表示,SQL Server Compact 总是将数据存储在客户端上的表中。

  • SQL Server Compact 不支持架构限定的对象,例如 Sales.Customer,其中 Customer 表的前面加上了 Sales 架构或所有者。如果要同步 AdventureWorks 示例数据库中的 Sales.Customer 表,请将 TableName 的值指定为 Customer

  • 默认情况下,下列对象不会复制到客户端数据库中:FOREIGN KEY 约束、UNIQUE 约束、DEFAULT 约束和 SQL Server ROWGUIDCOL 属性。如果在客户端数据库中需要这些对象,请通过使用 SQL 语句或者将它们添加到 SyncSchema 对象来添加它们。有关更多信息,请参见如何初始化客户端数据库和处理表架构

  • Sync Framework 支持服务器上的区分大小写排序规则,但具有以下限制:

    • 主键列和具有唯一索引或约束的列不能包含仅在大小写上有差别的值,例如 VALUE1 和 value1。

    • 不支持同步仅在大小写上有差别的数据库对象,例如 TABLE1table1

  • 服务器上的数据库可以参与多个同步会话。但是,数据库中的对象在一次只能参加与特定客户端的一个同步会话。如果一个表正在进行同步,而对该表再次调用了 Synchronize 方法,则 Sync Framework 会引发一个异常。客户端数据库仅支持一次进行一个同步会话。

请参阅

概念

应用程序设计和部署注意事项