Поделиться через


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, значение по умолчанию NULL и является выходным параметром. Значение 1 указывает на то, что публикация найдена. Значение 0 показывает, что публикация не найдена.

  • [@publication_id**=**] **'**publication_id' OUTPUT
    Идентификационный номер публикации. Аргумент publication_id имеет тип uniqueidentifier, значение по умолчанию 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)

Идентификатор задания агента моментальных снимков. Для получения записи задания моментального снимка в системной таблице sysjobs необходимо преобразовать шестнадцатеричное значение в тип данных uniqueidentifier.

enabled_for_internet

int

Указывает, разрешена ли публикация через Интернет. Если это значение равно 1, то файлы синхронизации для публикации помещаются в каталог C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\Ftp. Пользователю необходимо создать каталог для протокола FTP. Если значение равно 0, то доступ к публикации через Интернет не разрешен.

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 с пакетом обновления 1 (SP1)

30 = SQL Server 7.0 с пакетом обновления 2 (SP2)

30 = SQL Server 7.0 с пакетом обновления 3 (SP3)

30 = SQL Server 7.0 с пакетом обновления 4 (SP4)

40 = SQL Server 2000

40 = SQL Server 2000 с пакетом обновления 1 (SP1)

40 = SQL Server 2000 с пакетом обновления 2 (SP2)

40 = SQL Server 2000 с пакетом обновления 3 (SP3)

90 = SQL Server 2005

90 = SQL Server 2005 с пакетом обновления 1 (SP1)

90 = SQL Server 2005 с пакетом обновления 2 (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

Определяет, разрешена ли для публикации веб-синхронизация. Значение 1 указывает на то, что веб-синхронизация разрешена.

web_synchronization_url

nvarchar(500)

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