sp_helpmergepublication (Transact-SQL)

Returns information about a merge publication. This stored procedure is executed at the Publisher on the publication database.

Topic link iconTransact-SQL Syntax Conventions

Syntax

sp_helpmergepublication [ [ @publication= ] 'publication' ]
    [ , [ @found= ] 'found' OUTPUT ]
    [ , [ @publication_id = ] 'publication_id' OUTPUT ]
    [ , [ @reserved = ] 'reserved' ]
    [ , [ @publisher= ] 'publisher' ]
    [ , [ @publisher_db= ] 'publisher_db' ]

Arguments

  • [ @publication**=** ] 'publication'
    The name of the publication. publicationis sysname, with a default of %, which returns information about all merge publications in the current database.

  • [ @found**=** ] 'found' OUTPUT
    A flag to indicate returning rows. foundis int and an OUTPUT parameter, with a default of NULL. 1 indicates the publication is found. 0 indicates the publication is not found.

  • [ @publication\_id**=**\] **'**publication_id' OUTPUT
    The publication identification number. publication_id is uniqueidentifier and an OUTPUT parameter, with a default of NULL.

  • [ @reserved**=**\] 'reserved'
    Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. reserved is nvarchar(20), with a default of NULL.

  • [ @publisher**=** ] 'publisher'
    The name of the Publisher. publisher is sysname, with a default of NULL.

  • [@publisher_db**=** ] 'publisher_db'
    The name of the publication database. publisher_db is sysname, with a default of NULL.

Result Sets

Column name

Data type

Description

id

int

Sequential order of the publication in the result set list.

name

sysname

Name of the publication.

description

nvarchar(255)

Description of the publication.

status

tinyint

Indicates when publication data is available.

retention

int

Amount of time to save metadata about changes for articles in the publication. The units for this time period can be days, weeks, months, or years. For information about units, see the retention_period_unit column.

sync_mode

tinyint

Synchronization mode of this publication:

0 = Native bulk copy program (bcp utility)

1 = Character bulk copy

allow_push

int

Determines whether push subscriptions can be created for the given publication. 0 means that a push subscription is not allowed.

allow_pull

int

Determines whether pull subscriptions can be created for the given publication. 0 means that a pull subscription is not allowed.

allow_anonymous

int

Determines whether anonymous subscriptions can be created for the given publication. 0 means that an anonymous subscription is not allowed.

centralized_conflicts

int

Determines whether conflict records are stored on the given Publisher:

0 = conflict records are stored at both the publisher and at the subscriber that caused the conflict.

1 = all conflict records are stored at the Publisher.

priority

float(8)

Priority of the loop-back subscription.

snapshot_ready

tinyint

Indicates whether the snapshot of this publication is ready:

0 = Snapshot is ready for use.

1 = Snapshot is not ready for use.

publication_type

int

Type of publication:

0 = Snapshot.

1 = Transactional.

2 = Merge.

pubid

uniqueidentifier

Unique identifier of this publication.

snapshot_jobid

binary(16)

Job ID of the Snapshot Agent. To obtain the entry for the snapshot job in the sysjobs system table, you must convert this hexadecimal value to uniqueidentifier.

enabled_for_internet

int

Determines whether the publication is enabled for the Internet. If 1, the synchronization files for the publication are put into the C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\Ftp directory. The user must create the File Transfer Protocol (FTP) directory. If 0, the publication is not enabled for Internet access.

dynamic_filter

int

Indicates shether a parameterized row filter is used. 0 means a parameterized row filter is not used.

has_subscription

bit

Indicates whether the publication has any subscriptions. 0 means there are currently no subscriptions to this publication.

snapshot_in_default_folder

bit

Specifies if the snapshot files are stored in the default folder.

If 1, snapshot files can be found in the default folder.

If 0, snapshot files are stored in the alternate location specified by alt_snapshot_folder. Alternate locations can be on another server, on a network drive, or on a removable media (such as CD-ROM or removable disks). You can also save the snapshot files to a FTP site, for retrieval by the Subscriber at a later time.

NoteNote
This parameter can be true and still have a location in the alt_snapshot_folder parameter. That combination specifies that the snapshot files are stored in both the default and alternate locations.

alt_snapshot_folder

nvarchar(255)

Specifies the location of the alternate folder for the snapshot.

pre_snapshot_script

nvarchar(255)

Specifies a pointer to an .sql file that the Merge Agent runs before any of the replicated object scripts when applying the snapshot at a Subscriber.

post_snapshot_script

nvarchar(255)

Specifies a pointer to an .sql file that the Merge Agent runs after all the other replicated object scripts and data have been applied during an initial synchronization.

compress_snapshot

bit

Specifies that the snapshot that is written to the alt_snapshot_folder location is compressed into the Microsoft CAB format.

ftp_address

sysname

Is the network address of the FTP service for the Distributor. Specifies where publication snapshot files are located for the Merge Agent to pick up.

ftp_port

int

Is the port number of the FTP service for the Distributor. ftp_port has a default of 21. Specifies where the publication snapshot files are located for the Merge Agent to pick up.

ftp_subdirectory

nvarchar(255)

Specifies where the snapshot files are available for the Merge Agent to pick up when the snapshot is delivered using FTP.

ftp_login

sysname

Is the username used to connect to the FTP service.

conflict_retention

int

Specifies the retention period, in days, for which conflicts are retained. After the specified number of days has passed, the conflict row is purged from the conflict table.

keep_partition_changes

int

Specifies whether synchronization optimization is occurring for this publication. keep_partition_changes has a default of 0. A value of 0 means that synchronization is not optimized, and the partitions sent to all Subscribers are verified when data changes in a partition.

1 means that synchronization is optimized, and only Subscribers having rows in the changed partition are affected.

NoteNote
By default, merge publications use precomputed partitions, which provides a greater degree of optimization than this option. For more information, see Parameterized Row Filters and Optimizing Parameterized Filter Performance with Precomputed Partitions.

allow_subscription_copy

int

Specifies whether the ability to copy the subscription databases that subscribe to this publication has been enabled. A value of 0 means copying is not allowed.

allow_synctoalternate

int

Specifies whether an alternate synchronization partner is allowed to synchronize with this Publisher. A value of 0 means a synchronization partner is not allowed.

validate_subscriber_info

nvarchar(500)

Lists the functions that are being used to retrieve Subscriber information and validate the parameterized row filtering criteria on the Subscriber. Assists in verifying that the information is partitioned consistently with each merge.

backward_comp_level

int

Database compatibility level, and can be one of the following:

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

Specifies if the publication information is published to Active Directory. A value of 0 means the publication information is not available from Active Directory.

This parameter has been deprecated and is only supported for the backward compatibility of scripts. You can no longer add publication information to Active Directory.

max_concurrent_merge

int

The number of concurrent merge processes. If 0, there is no limit to the number of concurrent merge processes running at any given time.

max_concurrent_dynamic_snapshots

int

The maximum number of concurrent filtered data snapshot sessions that can be running against the merge publication. If 0, there is no limit to the maximum number of concurrent filtered data snapshot sessions that can run simultaneously against the publication at any given time.

use_partition_groups

int

Determines if precomputed partitions are used. A value of 1 means that precomputed partitions are used.

num_of_articles

int

Number of articles in the publication.

replicate_ddl

int

If schema changes to published tables are replicated. A value of 1 means that schema changes are replicated.

publication_number

smallint

Number assigned to this publication.

allow_subscriber_initiated_snapshot

bit

Determines if Subscribers can initiate the filtered data snapshot generation process. A value of 1 means that Subscribers can initiate the snapshot process.

allow_web_synchronization

bit

Determines if the publication is enabled for Web synchronization. A value of 1 means that Web synchronization is enabled.

web_synchronization_url

nvarchar(500)

Internet URL that is used for Web synchronization.

allow_partition_realignment

bit

Determines if deletes are sent to the subscriber when modification of the row on the publisher causes it to change its partition. A value of 1 means that deletes are sent to the Subscriber. For more information, see sp_addmergepublication (Transact-SQL).

retention_period_unit

tinyint

Defines the unit that is used when defining retention. This can be one of the following values:

0 = day

1 = week

2 = month

3 = year

has_downloadonly_articles

bit

Indicates if any articles that belong to the publication are download-only articles. A value of 1 indicates that there are download-only articles.

decentralized_conflicts

int

Indicates whether the conflict records are stored at the Subscriber that caused the conflict. A value of 0 indicates that conflict records are not stored at the Subscriber. A value of 1 indicates that conflict records are stored at the Subscriber.

generation_leveling_threshold

int

Specifies the number of changes that are contained in a generation. A generation is a collection of changes that are delivered to a Publisher or Subscriber. For more information, see How Merge Replication Tracks and Enumerates Changes.

automatic_reinitialization_policy

bit

Indicates whether changes are uploaded from the Subscriber before an automatic reinitialization occurs. A value of 1 indicates that changes are uploaded from the Subscriber before an automatic reinitialization occurs. A value of 0 indicates that changes are not uploaded before an automatic reinitialization.

Return Code Values

0 (success) or 1 (failure)

Remarks

sp_helpmergepublication is used in merge replication.

Permissions

Members of the publication access list for a publication can execute sp_helpmergepublication for that publication. Members of the db_owner fixed database role on the publication database can execute sp_helpmergepublication for information on all publications.

Example

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks]
EXEC sp_helpmergepublication @publication = @publication;
GO