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


sp_helppublication (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

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

Аргументы

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

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

  • [ @publisher = ] 'publisher'
    Задает издатель, отличный от SQL Server. Аргумент publisher имеет тип sysname и значение по умолчанию NULL.

    ПримечаниеПримечание

    Аргумент publisher не следует указывать при запросе сведений о публикации на издателе SQL Server.

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

Имя столбца

Тип данных

Описание

pubid

int

Идентификатор публикации.

name

sysname

Имя публикации.

restricted

int

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

status

tinyint

Текущее состояние публикации.

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

1 = Активна.

task

Используется для обратной совместимости.

replication frequency

tinyint

Тип частоты репликации:

0 = транзакционная;

1 = моментальный снимок.

synchronization method

tinyint

Режим синхронизации:

0 = собственная программа массового копирования (программа BCP);

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

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

4 = Concurrent_c, то есть применяется символьное массовое копирование, но во время создания моментального снимка таблицы не фиксируются.

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 файлы моментальных снимков хранятся в другом месте, заданном параметром alternate_snapshot_folder. При значении 1 файлы моментальных снимков находятся в папке по умолчанию.

alt_snapshot_folder

nvarchar(255)

Задает расположение альтернативной папки для моментального снимка.

pre_snapshot_script

nvarchar(255)

Задает расположение файлов SQL. Если моментальный снимок применяется на подписчике, то агент распространителя запускает предварительный сценарий моментального снимка до выполнения сценариев реплицируемых объектов.

post_snapshot_script

nvarchar(255)

Задает расположение файлов SQL. Агент распространителя запускает заключительный сценарий после применения сценариев и данных всех реплицируемых объектов во время первоначальной синхронизации.

compress_snapshot

bit

Указывает необходимость сжатия моментального снимка, записываемого в папку alt_snapshot_folder, в формат Microsoft САВ. 0 означает, что сжатие моментального снимка выполняться не будет.

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 = для хранения транзакций используется компонент Microsoft Message Queuing;

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

ПримечаниеПримечание
Компонент Message Queuing больше не поддерживается.

backward_comp_level

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

10 = MicrosoftSQL Server 7.0

20 = SQL Server 7.0 с пакетом обновления 1

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

35 = SQL Server 7.0 с пакетом обновления 3

40 = MicrosoftSQL Server 2000

50 = SQL Server 2000 с пакетом обновления 1

60 = SQL Server 2000 с пакетом обновления 3

90 = MicrosoftSQL Server 2005

100 = MicrosoftSQL Server 2008

publish_to_AD

bit

Указывает, опубликована ли публикация в Microsoft Active Directory™. 1 = опубликована, 0 = не опубликована.

allow_initialize_from_backup

bit

Показывает, может ли подписчик инициализировать подписку на эту публикацию из резервной копии, а не из исходного моментального снимка. 1 = подписки можно инициализировать из резервной копии, 0 = подписки нельзя инициализировать из резервной копии. Дополнительные сведения о транзакционном подписчике без моментального снимка см. в разделе Инициализация подписки на публикацию транзакций без моментального снимка.

replicate_ddl

int

Указывает, поддерживается ли для публикации репликация схемы. 1 = инструкции языка DDL, выполняемые на издателе, реплицируются, 0 = инструкции DDL не реплицируются. Дополнительные сведения см. в разделе Внесение изменений схем в базы данных публикаций.

enabled_for_p2p

int

Указывает, может ли публикация использоваться в топологии одноранговой репликации. 1 = публикация поддерживает одноранговую репликацию. Дополнительные сведения см. в разделе Одноранговая репликация транзакций.

publish_local_changes_only

int

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

enabled_for_het_sub

int

Указывает, поддерживает ли публикация подписчиков, отличных от SQL Server. 1 = подписчики, отличные от SQL Server, поддерживаются. 0 = поддерживаются только подписчики SQL Server. Дополнительные сведения см. в разделе Подписчики, отличные от подписчиков SQL Server.

enabled_for_p2p_conflictdetection

int

Определяет, будет ли агент распространителя обнаруживать конфликты публикации, разрешенной для одноранговой репликации. Значение 1 означает, что конфликты обнаруживаются. Дополнительные сведения см. в разделе Обнаружение конфликтов в одноранговой репликации.

originator_id

int

Указывает идентификатор в одноранговой топологии. Этот идентификатор используется для обнаружения конфликтов, если параметр enabled_for_p2p_conflictdetection установлен в значение 1. Список использованных идентификаторов запросите в системной таблице Mspeer_originatorid_history.

p2p_continue_onconflict

int

Указывает, продолжает ли агент распространителя обрабатывать изменения при обнаружении конфликта. Значение 1 означает, что агент продолжает обрабатывать изменения.

ПредупреждениеВнимание!
Рекомендуется использовать значение по умолчанию, равное 0. Если присвоить этому параметру значение 1, агент распространителя будет пытаться обеспечить сходимость данных в топологии, применяя конфликтующую строку из узла, имеющего наибольшее значение идентификатора инициатора. Этот метод не гарантирует конвергенцию. После обнаружения конфликта следует убедиться, что топология остается согласованной. Дополнительные сведения см. в подразделе «Обработка конфликтов» раздела Обнаружение конфликтов в одноранговой репликации.

alllow_partition_switch

int

Указывает, могут ли инструкции ALTER TABLE…SWITCH выполняться по отношению к опубликованной базе данных. Дополнительные сведения см. в разделе Репликация секционированных таблиц и индексов.

replicate_partition_switch

int

Указывает, должны ли инструкции ALTER TABLE…SWITCH, которые выполняются по отношению к опубликованной базе данных, реплицироваться на подписчики. Этот параметр является допустимым, только если аргумент allow_partition_switch установлен в значение 1.

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

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

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

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

Пример

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

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

Разрешения

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

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