创建发布
为 Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 创建发布时需要使用标准的 SQL Server 复制工具和技术。创建发布最简便的方法是使用发布向导。您也可以使用 sp_addmergepublication 存储过程创建发布。
注意: |
---|
在 SQL Server 2000 中,发布向导被称为“创建发布向导”。在 SQL Server 2005 中,它被称为“新建发布向导”。为方便起见,此处将其简称为“发布向导”。 |
使用发布向导创建发布
创建发布最简便的方法是使用 SQL Server 中的发布向导。该向导提供了一个图形用户界面,您可以通过该用户界面选择发布服务器、发布类型和要发布的项目。您还可以通过它为发布配置筛选功能。
当您使用发布向导为 SQL Server Compact Edition 订阅服务器创建发布时,您必须选择下列选项:
- 在“发布类型”页上,选择“合并发布”。
- 启用 Windows CE 订阅服务器:
- 在 SQL Server 2005 中的“订阅服务器类型”页上,选择“SQL Server Compact Edition”。
- 在 SQL Server 2000 中的“指定订阅服务器的类型”页上,选择“运行 SQL Server Compact Edition 的设备”。
通过启用 Windows CE 订阅服务器,可以自动为发布配置字符模式快照。SQL Server 2005 中还启用了 Web 同步。
如果这是为此服务器创建的第一个发布,则发布向导会提示您配置默认快照文件夹位置。快照文件夹中保存着一些快照文件,这些文件中包含已发布的表的架构和数据。IIS 用户必须能够读取这些快照文件,这样才能将这些文件下载到智能设备。
注意: |
---|
快照文件夹的默认位置是 SQL Server 安装文件夹中的本地路径。您必须将此路径更改为共享文件夹,这样 IIS 用户才能通过网络访问快照。有关创建和配置快照文件夹的详细信息,请参阅配置快照文件夹。 |
有关使用发布向导的详细信息,请参阅 SQL Server 联机丛书中的“Replication Wizards”。
使用 sp_addmergepublication 创建发布
您还可以使用 sp_addmergepublication 存储过程创建新发布。如果您使用存储过程,则某些参数必须采用特定的值才能允许 SQL Server Compact Edition 订阅服务器。下表列出了这些参数及其所需的值。
参数 | 所需的值 | SQL Server 2000 或 SQL Server 2005 |
---|---|---|
@sync_mode |
'character' |
两个版本 |
@allow_pull |
True |
两个版本 |
@allow_anonymous |
False |
两个版本 |
@centralized_conflicts |
True |
SQL Server 2000 |
@compress_snapshot |
False |
两个版本 |
@allow_web_synchronization |
True |
仅限于 SQL Server 2005 |
@conflict_logging |
两个版本的数据库或发布服务器需要 |
仅限于 SQL Server 2005 |
@keep_partition_changes |
True |
仅限于 SQL Server 2000 |
除了上表中列出的必需参数外,还有下列规则适用于那些可用于 sp_addmergepublication 存储过程的其他参数。
- 仅当将 @snapshot\_in\_defaultfolder 设置为“False”时才支持 @alt\_snapshot\_folder。
- SQL Server Compact Edition 订阅服务器忽略 @pre-snapshot\_script。
- SQL Server Compact Edition 订阅服务器忽略 @post\_snapshot\_script。
- 在 SQL Server 2005 中,@keep_partition_changes 是一个不推荐使用的参数,所以不要使用此参数。应当将 @use\_partition\_groups 设置为“True”以增强与已筛选项目之间的同步操作性能。
- SQL Server Compact Edition 订阅服务器忽略 @allow\_synctoalternate。
注意: |
---|
当将 @partition_options 设置为 1、2 或 3 时,SQL Server Compact Edition 无法禁止分区外插入。因此,在同步过程中,发布服务器会忽略这些插入,但在引起分歧的订阅服务器上不会将其记录为冲突,也不会从该订阅服务器上将其删除。开发人员必须禁止应用层发生分区外插入。 |