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