sp_helpmergepublication (Transact-SQL)
适用范围:SQL Server
返回有关合并发布的信息。 此存储过程在发布服务器上对发布数据库执行。
语法
sp_helpmergepublication
[ [ @publication = ] N'publication' ]
[ , [ @found = ] found OUTPUT ]
[ , [ @publication_id = ] 'publication_id' OUTPUT ]
[ , [ @reserved = ] N'reserved' ]
[ , [ @publisher = ] N'publisher' ]
[ , [ @publisher_db = ] N'publisher_db' ]
[ ; ]
参数
[ @publication = ] N'publication'
发布的名称。 @publication 是 sysname,默认值 %
为 ,返回有关当前数据库中所有合并发布的信息。
[ @found = ] 找到 OUTPUT
指示返回行的标志。 @found是 int 类型的 OUTPUT 参数。
1
指示找到发布。0
指示找不到发布。
[ @publication_id = ] 'publication_id' OUTPUT
发布的标识号。 @publication_id是 uniqueidentifier 类型的 OUTPUT 参数。
[ @reserved = ] N'reserved'
标识为仅供参考。 不支持。 不保证以后的兼容性。
[ @publisher = ] N'publisher'
发布服务器的名称。 @publisher为 sysname,默认值为 NULL
.
[ @publisher_db = ] N'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 备用位置。 备用位置可以位于另一台服务器、网络驱动器或可移动媒体(如可移动磁盘)上。 也可以将快照文件保存到 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 | 数据库兼容性级别,可以是以下值之一:90 = SQL Server 2005 (9.x)90 = SQL Server 2005 (9.x) SP190 = SQL Server 2005 (9.x) SP2100 = SQL Server 2008 (10.0.x) |
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 = day1 = week2 = 月份3 = year |
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 [AdventureWorks2022]
EXEC sp_helpmergepublication @publication = @publication;
GO