sp_helpmergepublication (Transact-SQL)

返回有关合并发布的信息。 此存储过程是在发布服务器上对发布数据库执行的。

主题链接图标 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

数据库兼容级别,可以为下列值之一:

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 [AdventureWorks2012]
EXEC sp_helpmergepublication @publication = @publication;
GO

请参阅

参考

sp_addmergepublication (Transact-SQL)

sp_changemergepublication (Transact-SQL)

sp_dropmergepublication (Transact-SQL)

复制存储过程 (Transact-SQL)

概念

查看和修改发布属性