sp_helppublication (Transact-SQL)

Применимо к: SQL Server Управляемый экземпляр SQL Azure

Возвращает сведения о публикации. Для публикации Microsoft SQL Server эта хранимая процедура выполняется на издателе в базе данных публикации. В публикации Oracle эта хранимая процедура выполняется в распространителе для любой базы данных.

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

Синтаксис

  
sp_helppublication [ [ @publication = ] 'publication' ]  
    [ , [ @found=] found OUTPUT]  
    [ , [ @publisher = ] 'publisher' ]  

Аргументы

[ @publication = ] 'publication' Имя просматриваемой публикации. параметр publication имеет значение sysname, значение по умолчанию %— , которое возвращает сведения обо всех публикациях.

[ @found = ] 'found' OUTPUT Флаг для указания возвращаемых строк. параметр found имеет значение int и параметр OUTPUT со значением по умолчанию 23456. 1 указывает, что публикация найдена. 0 указывает, что публикация не найдена.

[ @publisher = ] 'publisher'Указывает издателя, отличного от SQL Server. publisher имеет значение sysname, значение по умолчанию — NULL.

Примечание

При запросе сведений о публикации от издателя SQL Server указывать не следует.

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

Имя столбца Тип данных Описание
pubid int Идентификатор публикации.
name sysname Имя публикации.
restricted int Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
status tinyint Текущее состояние публикации.

0 = неактивен.

1 = активный.
задача Используется для обратной совместимости.
replication frequency tinyint Тип частоты репликации:

0 = транзакционный

1 = моментальный снимок
synchronization method tinyint Режим синхронизации:

0 = собственная программа массового копирования (служебная программа bcp )

1 = массовое копирование символов

3 = Concurrent, что означает, что используется собственное массовое копирование (служебная программа bcp), но таблицы не блокируются во время snapshot

4 = Concurrent_c, что означает, что используется массовое копирование символов, но таблицы не блокируются во время snapshot
description nvarchar(255) Дополнительное описание публикации.
immediate_sync bit Указывает, выполняется ли создание (повторное создание) файлов синхронизации при каждом запуске агента моментальных снимков.
enabled_for_internet bit Указывает доступность файлов синхронизации для публикации через Интернет по протоколу FTP, а также их доступность для других служб.
allow_push bit Указывает, разрешена ли для данной публикации принудительная подписка.
allow_pull bit Указывает, разрешена ли для данной публикации подписка по запросу.
allow_anonymous bit Указывает, разрешена ли для данной публикации анонимная подписка.
independent_agent bit Указывает, есть ли у данной публикации изолированный агент распространителя.
immediate_sync_ready bit Указывает готовность агента моментальных снимков к работе с новыми подписками. Этот аргумент задается только в том случае, если в данной публикации моментальный снимок всегда доступен для новых или повторно инициализированных подписок.
allow_sync_tran bit Определяет, разрешены ли в публикации немедленно обновляемые подписки.
autogen_sync_procs bit Указывает, будут ли автоматически создаваться хранимые процедуры для поддержки немедленно обновляемых подписок.
snapshot_jobid binary(16) Идентификатор запланированной задачи.
retention int Сохраняемый объем изменений данной публикации в часах.
has subscription bit Указывает, есть ли у публикации активные подписки. 1 означает, что у публикации есть активные подписки, а 0 означает, что у публикации нет подписок.
allow_queued_tran bit Указывает, разрешено ли накопление изменений в подписчике в очереди до тех пор, пока их можно применить к издателю. Если значение 0, изменения на подписчике не помещаются в очередь.
snapshot_in_defaultfolder bit Указывает, хранятся ли файлы моментальных снимков в папке по умолчанию. Если значение 0, snapshot файлы хранятся в альтернативном расположении, указанном alternate_snapshot_folder. Если значение 1, snapshot файлы можно найти в папке по умолчанию.
alt_snapshot_folder nvarchar(255) Указывает местоположение альтернативной папки для моментального снимка.
pre_snapshot_script nvarchar(255) Указывает указатель на расположение SQL-файла . Если моментальный снимок применяется на подписчике, то агент распространителя запускает предварительный скрипт моментального снимка до выполнения скриптов реплицируемых объектов.
post_snapshot_script nvarchar(255) Указывает указатель на расположение SQL-файла . Агент распространителя запускает заключительный скрипт после применения скриптов и данных всех реплицируемых объектов во время первоначальной синхронизации.
compress_snapshot bit Указывает, что snapshot, записываемый в alt_snapshot_folder расположении, сжимается в формате Microsoft CAB. 0 указывает, что snapshot не сжимается.
ftp_address sysname Сетевой адрес службы FTP для распространителя. Указывает расположение файлов моментальных снимков публикаций для агента распространителя или агента слияния подписчика.
ftp_port int Номер порта службы FTP для распространителя.
ftp_subdirectory nvarchar(255) Указывает расположение файлов моментальных снимков для агента распространителя или агента слияния данного подписчика, если публикация поддерживает распространение моментальных снимков с помощью FTP.
ftp_login sysname Имя пользователя для подключения к службе FTP.
allow_dts bit Указывает, что в публикации разрешены преобразования данных. 0 указывает, что преобразования DTS не разрешены.
allow_subscription_copy bit Указывает, разрешено ли копирование баз данных подписки, подписанных на данную публикацию. 0 означает, что копирование запрещено.
centralized_conflicts bit Определяет, хранятся ли на издателе конфликтные записи.

0 = записи конфликтов хранятся как у издателя, так и у подписчика, вызвавшего конфликт.

1 = записи конфликтов хранятся на издателе.
conflict_retention int Задает срок хранения конфликтных записей в днях.
conflict_policy int Задает политику устранения конфликтов при обновлении подписчика посредством очередей. Может принимать одно из следующих значений:

1 = издатель выигрывает конфликт.

2 = подписчик выигрывает конфликт.

3 = подписка повторно инициализирована.
queue_type Задает используемый тип очереди. Может принимать одно из следующих значений:

msmq = использование очереди сообщений Майкрософт для хранения транзакций.

sql = использование SQL Server для хранения транзакций.

Примечание. Поддержка очереди сообщений прекращена.
backward_comp_level Уровень совместимости базы данных. Может иметь одно из следующих значений:

90 = Microsoft SQL Server 2005 (9.x)

100 = Microsoft SQL Server 2008 (10.0.x)
publish_to_AD bit Указывает, публикуется ли публикация в Microsoft Active Directory. Значение 1 указывает, что он опубликован, а значение 0 указывает, что он не опубликован.
allow_initialize_from_backup bit Показывает, может ли подписчик инициализировать подписку на эту публикацию из резервной копии, а не из исходного моментального снимка. 1 означает, что подписки можно инициализировать из резервной копии, а 0 означает, что они не могут. Дополнительные сведения см. в статье Инициализация транзакционной подписки без моментального снимка подписчика транзакций без snapshot.
replicate_ddl int Указывает, поддерживается ли для публикации репликация схемы. 1 указывает, что операторы языка определения данных (DDL), выполняемые на издателе, реплицируются, а 0 указывает, что инструкции DDL не реплицируются. Дополнительные сведения см. в статье Внесение изменений в схемы баз данных публикации.
enabled_for_p2p int Указывает, может ли публикация использоваться в одноранговой топологии репликации. Значение 1 указывает, что публикация поддерживает одноранговую репликацию. Дополнительные сведения см. в разделе Peer-to-Peer Transactional Replication.
publish_local_changes_only int Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
enabled_for_het_sub int Указывает, поддерживает ли публикация подписчиков, отличных от SQL Server. Значение 1 означает, что поддерживаются подписчики, не являющиеся SQL Server. Значение 0 означает, что поддерживаются только подписчики SQL Server. Дополнительные сведения см. в статье Non-SQL Server Subscribers.
enabled_for_p2p_conflictdetection int Определяет, будет ли агент распространителя обнаруживать конфликты публикации, разрешенной для одноранговой репликации. Значение 1 означает, что обнаружены конфликты. Дополнительные сведения см. в разделе Conflict Detection in Peer-to-Peer Replication.
originator_id int Указывает идентификатор в одноранговой топологии. Этот идентификатор используется для обнаружения конфликтов, если enabled_for_p2p_conflictdetection имеет значение 1. Список использованных идентификаторов запросите в системной таблице Mspeer_originatorid_history .
p2p_continue_onconflict int Указывает, продолжает ли агент распространителя обрабатывать изменения при обнаружении конфликта. Значение 1 означает, что агент продолжает обрабатывать изменения.

**Осторожностью** Рекомендуется использовать значение по умолчанию 0. Если для этого параметра задано значение 1, агент распространения пытается свести данные в топологии, применяя конфликтующую строку из узла с наибольшим идентификатором инициатора. Этот метод не гарантирует конвергенции. После обнаружения конфликта следует убедиться, что топология остается согласованной. Дополнительные сведения см. в подразделе «Обработка конфликтов» раздела Conflict Detection in Peer-to-Peer Replication.
allow_partition_switch int Указывает, является ли ALTER TABLE... Инструкции SWITCH можно выполнять для опубликованной базы данных. Дополнительные сведения см. в статье Replicate Partitioned Tables and Indexes (Репликация секционированных таблиц и индексов).
replicate_partition_switch int Указывает, является ли ALTER TABLE... Инструкции SWITCH, выполняемые в опубликованной базе данных, должны реплицироваться на подписчиков. Этот параметр действителен, только если allow_partition_switch имеет значение 1.
enabled_for_p2p_lastwriter_conflictdetection int Начиная с SQL Server 2019 (15.x) CU 13, указывает, обнаруживает ли агент распространения последние конфликты записи для публикации, которая включена для одноранговой репликации. Значение 1 означает, что обнаружены последние конфликты записи.

Значения кода возврата

0 (успешно) или 1 (сбой)

Комментарии

Процедура sp_helppublication используется при репликации моментальных снимков и транзакций.

Процедура sp_helppublication возвращает сведения обо всех публикациях, которые принадлежат пользователю, выполняющему эту процедуру.

Пример

DECLARE @myTranPub AS sysname
SET @myTranPub = N'AdvWorksProductTran' 

USE [AdventureWorks2012]
EXEC sp_helppublication @publication = @myTranPub
GO

Разрешения

Процедуру sp_helppublication могут выполнять только члены предопределенной роли сервера sysadmin на издателе, члены предопределенной роли базы данных db_owner в базе данных публикации, а также пользователи из списка доступа к публикации (PAL).

Для издателя, отличного от SQL Server, sp_helppublication могут выполнять только члены предопределенной роли сервера sysadmin на распространитетеле или члены предопределенной роли базы данных db_owner в базе данных распространителя или пользователи в pal.

См. также:

Просмотр и изменение свойств публикации
sp_addpublication (Transact-SQL)
sp_changepublication (Transact-SQL)
sp_droppublication (Transact-SQL)
Хранимые процедуры репликации (Transact-SQL)