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, параметр OUTPUT и значение по умолчанию 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.
|
||
backward_comp_level |
|
Уровень совместимости базы данных. Может иметь одно из следующих значений: 90 = Microsoft SQL Server 2005 100 = Microsoft SQL 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 означает, что агент продолжает обрабатывать изменения.
|
||
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 [AdventureWorks2012]
EXEC sp_helppublication @publication = @myTranPub
GO
Разрешения
Только члены предопределенной роли сервера sysadmin, члены предопределенной роли базы данных db_owner в базе данных публикации или пользователи в списке доступа к публикации могут выполнять процедуру sp_helppublication.
Если издатель отличается от SQL Server, то процедуру sysadmin могут выполнять только члены предопределенной роли сервера db_owner на распространителе или предопределенной роли базы данных sp_helppublication в базе данных распространителя, а также пользователи из списка доступа к публикации.
См. также
Справочник
sp_addpublication (Transact-SQL)
sp_changepublication (Transact-SQL)
sp_droppublication (Transact-SQL)
Хранимые процедуры репликации (Transact-SQL)