sp_helpmergepublication (Transact-SQL)
返回有关合并发布的信息。此存储过程在发布服务器上对发布数据库执行。
语法
sp_helpmergepublication [ [ @publication = ] 'publication' ]
[ , [ @found = ] 'found' OUTPUT ]
[ , [ @publication_id = ] 'publication_id' OUTPUT ]
[ , [ @reserved = ] 'reserved' ]
[ , [ @publisher = ] 'publisher' ]
[ , [ @publisher_db = ] 'publisher_db' ]
参数
[ @publication = ] 'publication'
发布的名称。publication 的数据类型为 sysname,默认值为 %,它返回当前数据库中所有合并发布的相关信息。[ @found = ] 'found' OUTPUT
指示返回行的标志。found 的数据类型为 int 而且是 OUTPUT 参数,默认值为 NULL。1 表示找到了发布。0 表示未找到发布。[ @publication_id**=**\] **'**publication_id' OUTPUT
发布的标识号。publication_id 的数据类型为 uniqueidentifier 而且是 OUTPUT 参数,默认值为 NULL。[ @reserved**=**\] 'reserved'
标识为仅供参考。不提供支持。不保证以后的兼容性。 reserved 的数据类型为 nvarchar(20),默认值为 NULL。[ @publisher**=** ] 'publisher'
发布服务器的名称。publisher 的数据类型为 sysname,默认值为 NULL。[@publisher_db = ] 'publisher_db'
发布数据库的名称。publisher_db 的数据类型为 sysname,默认值为 NULL。
结果集
列名 |
数据类型 |
说明 |
---|---|---|
id |
int |
发布在结果集列表中的连续顺序。 |
name |
sysname |
发布的名称。 |
description |
nvarchar(255) |
对发布的说明。 |
status |
tinyint |
指示发布数据何时可用。 |
retention |
int |
用于保存对发布中项目所做更改的元数据的时间量。此时间段单位可以为天、星期、月或年。有关单位的信息,请参阅 retention_period_unit 列。 |
sync_mode |
tinyint |
该发布的同步模式: 0 = 本机大容量复制程序(bcp 实用工具) 1 = 字符大容量复制 |
allow_push |
int |
确定是否可以为给定发布创建推送订阅。0 表示不允许推送订阅。 |
allow_pull |
int |
确定是否可以为给定发布创建请求订阅。0 表示不允许请求订阅。 |
allow_anonymous |
int |
确定是否可以为给定发布创建匿名订阅。0 表示不允许匿名订阅。 |
centralized_conflicts |
int |
确定是否将冲突记录存储在给定发布服务器上: 0 = 在导致冲突的发布服务器和订阅服务器上均存储冲突记录。 1 = 将所有冲突记录存储在发布服务器上。 |
priority |
float(8) |
环回订阅的优先级。 |
snapshot_ready |
tinyint |
指示该发布的快照是否可以使用: 0 = 快照可用。 1 = 快照尚不可用。 |
publication_type |
int |
发布的类型: 0 = 快照。 1 = 事务。 2 = 合并。 |
pubid |
uniqueidentifier |
该发布的唯一标识符。 |
snapshot_jobid |
binary(16) |
快照代理的作业 ID。若要获取 sysjobs 系统表中快照作业的相应项,必须将该十六进制值转换为 uniqueidentifier。 |
enabled_for_internet |
int |
确定是否为 Internet 启用发布。如果为 1,则将发布的同步文件放在 C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\Ftp 目录中。用户必须创建文件传输协议 (FTP) 目录。如果为 0,则不为 Internet 访问启用此发布。 |
dynamic_filter |
int |
指示是否使用参数化行筛选器。0 表示不使用参数化行筛选器。 |
has_subscription |
bit |
指示发布是否具有任何订阅。0 表示此发布当前没有订阅。 |
snapshot_in_default_folder |
bit |
指定快照文件是否存储在默认文件夹中。 如果为 1,则可以在默认文件夹中找到快照文件。 如果为 0,则快照文件存储在 alt_snapshot_folder 指定的备用位置中。备用位置可以在另一台服务器、网络驱动器或可移动介质(如 CD-ROM 或可移动磁盘)上。也可以将快照文件保存到 FTP 站点以供订阅方以后检索。
注意
此参数可以为 true,而且仍可在 alt_snapshot_folder 参数中指定一个位置。这个组合指定将快照文件存储在默认位置和替代位置。
|
alt_snapshot_folder |
nvarchar(255) |
指定快照的备用文件夹的位置。 |
pre_snapshot_script |
nvarchar(255) |
指定指向某个 .sql 文件的指针,在订阅服务器上应用快照时,合并代理先运行该文件,然后再运行任何已复制对象脚本。 |
post_snapshot_script |
nvarchar(255) |
指定指向某个 .sql 文件的指针,在初始同步期间,合并代理先应用所有其他已复制对象脚本和数据,然后再运行该文件。 |
compress_snapshot |
bit |
指定写入 alt_snapshot_folder 位置的快照将压缩为 Microsoft CAB 格式。 |
ftp_address |
sysname |
分发服务器的 FTP 服务网络地址。指定供合并代理拾取的发布快照文件所在的位置。 |
ftp_port |
int |
分发服务器的 FTP 服务的端口号。ftp_port 的默认值为 21。指定供合并代理拾取的发布快照文件所在的位置。 |
ftp_subdirectory |
nvarchar(255) |
指定当使用 FTP 传递快照时,快照文件供合并代理拾取的位置。 |
ftp_login |
sysname |
用于连接到 FTP 服务的用户名。 |
conflict_retention |
int |
指定保留冲突的保持期(天)。指定的天数过后,冲突行将从冲突表中清除掉。 |
keep_partition_changes |
int |
指定是否对该发布进行同步优化。keep_partition_changes 的默认值为 0。值为 0 表示不优化同步,当分区中的数据发生更改时,将验证发送到所有订阅服务器的分区。 1 表示优化同步,只影响在发生更改的分区中包含行的订阅服务器。
注意
默认情况下,合并发布使用预计算分区,与该选项相比,它提供更大程度的优化。有关详细信息,请参阅参数化行筛选器 和使用预计算分区优化参数化筛选器的性能。
|
allow_subscription_copy |
int |
指定是否已启用复制订阅该发布的订阅数据库的功能。值为 0 表示不允许复制。 |
allow_synctoalternate |
int |
指定是否允许备用同步伙伴与该发布服务器同步。值为 0 表示不允许使用同步伙伴。 |
validate_subscriber_info |
nvarchar(500) |
列出用于检索订阅服务器信息和验证订阅服务器上的参数化行筛选条件的函数。有助于验证信息分区是否与每个合并一致。 |
backward_comp_level |
int |
数据库兼容级别,可以为下列值之一: 10 = SQL Server 7.0 20 = SQL Server 7.0 SP1 30 = SQL Server 7.0 SP2 30 = SQL Server 7.0 SP3 30 = SQL Server 7.0 SP4 40 = SQL Server 2000 40 = SQL Server 2000 SP1 40 = SQL Server 2000 SP2 40 = SQL Server 2000 SP3 90 = SQL Server 2005 90 = SQL Server 2005 SP1 90 = SQL Server 2005 SP2 100 = SQL Server 2008 |
publish_to_activedirectory |
bit |
指定是否将发布信息发布到 Active Directory。值为 0 表示无法从 Active Directory 中获取发布信息。 已不推荐使用该参数,支持该参数只是为了让脚本能够向后兼容。您不再能够向 Active Directory 中添加发布信息。 |
max_concurrent_merge |
int |
并发合并进程数。如果为 0,则不限制在任何给定时间运行的并发合并进程数。 |
max_concurrent_dynamic_snapshots |
int |
针对合并发布可以运行的最大并发已筛选数据快照会话数。如果为 0,则不限制在任何给定时间针对发布同时运行的并发已筛选数据快照会话的最大数目。 |
use_partition_groups |
int |
确定是否使用预计算分区。值为 1 表示使用预计算分区。 |
num_of_articles |
int |
发布中的项目个数。 |
replicate_ddl |
int |
表示是否复制对已发布表的架构更改。值为 1 表示复制架构更改。 |
publication_number |
smallint |
分配给该发布的编号。 |
allow_subscriber_initiated_snapshot |
bit |
确定订阅服务器是否可以启动已筛选数据快照生成进程。值为 1 表示订阅服务器可以启动快照进程。 |
allow_web_synchronization |
bit |
确定是否为 Web 同步启用发布。值为 1 表示启用 Web 同步。 |
web_synchronization_url |
nvarchar(500) |
用于 Web 同步的 Internet URL。 |
allow_partition_realignment |
bit |
确定在发布服务器上的行修改导致该发布服务器更改其分区时是否将删除指令发送到订阅服务器。值为 1 表示将删除指令发送到订阅服务器。有关详细信息,请参阅 sp_addmergepublication (Transact-SQL)。 |
retention_period_unit |
tinyint |
指定用于定义保持期的单位。可以是下列值之一: 0 = 日 1 = 周 2 = 月 3 = 年 |
has_downloadonly_articles |
bit |
指示属于发布的所有项目是否为仅用于下载的项目。值为 1 表示具有仅用于下载的项目。 |
decentralized_conflicts |
int |
指示是否在导致冲突的订阅服务器上存储冲突记录。值为 0 表示不在订阅服务器上存储冲突记录。值为 1 表示在订阅服务器上存储冲突记录。 |
generation_leveling_threshold |
int |
指定生成中包含的更改次数。生成是指已传递给发布服务器或订阅服务器的更改集合。有关详细信息,请参阅合并复制如何跟踪和枚举更改。 |
automatic_reinitialization_policy |
bit |
指示是否在进行自动重新初始化之前从订阅服务器上载更改。值为 1 表示在进行自动重新初始化之前从订阅服务器上载更改。值为 0 表示在自动重新初始化之前不上载更改。 |
返回代码值
0(成功)或 1(失败)
注释
sp_helpmergepublication 用于合并复制。
权限
发布的发布访问列表的成员可以针对该发布执行 sp_helpmergepublication。发布数据库中的 db_owner 固定数据库角色成员可以针对所有发布的信息执行 sp_helpmergepublication。
示例
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorks2008R2]
EXEC sp_helpmergepublication @publication = @publication;
GO