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


sp_helpmergepublication (Transact-SQL)

Область применения: SQL Server

Возвращает данные о публикации слиянием. Эта хранимая процедура выполняется на издателе в базе данных публикации.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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 = ] найден выходные данные

Флаг для указания возвращаемых строк. @found — это параметр OUTPUT типа int.

  • 1 указывает, что публикация найдена.
  • 0 указывает, что публикация не найдена.

[ @publication_id = ] "publication_id" OUTPUT

Идентификационный номер публикации. @publication_id — это параметр OUTPUT типа uniqueidentifier.

[ @reserved = ] N'reserved'

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

[ @publisher = ] N'publisher'

Имя издателя. @publisher — sysname с значением по умолчаниюNULL.

[ @publisher_db = ] N'publisher_db'

Имя базы данных публикации. @publisher_db имеет имя sysname с значением по умолчаниюNULL.

Результирующий набор

Имя столбца Тип данных Description
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. Альтернативные расположения могут находиться на другом сервере, на сетевом диске или на съемных носителях (например, съемных дисках). Файлы моментальных снимков можно также хранить на FTP-сайте, откуда подписчик позже может их получить.

Примечание. Этот параметр может быть истинным и по-прежнему иметь расположение в параметре 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) с пакетом обновления 1 (SP1)

90 = SQL Server 2005 (9.x) с пакетом обновления 2 (SP2)

100 = 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 Определяет, разрешена ли для публикации веб-синхронизация. Значение 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 [AdventureWorks2022]
EXEC sp_helpmergepublication @publication = @publication;
GO