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)