sp_helppublication (Transact-SQL)
Возвращает сведения о публикации. В публикации Microsoft SQL Server эта хранимая процедура выполняется в базе данных публикации на издателе. В публикации Oracle эта хранимая процедура выполняется в распространителе для любой базы данных.
Синтаксис
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 в базе данных распространителя, а также пользователи из списка доступа к публикации.