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


sp_changemergepublication (Transact-SQL)

Изменения: 12 декабря 2006 г.

Изменяет свойства публикации слиянием. Эта хранимая процедура выполняется на издателе в базе данных публикации.

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

Синтаксис

sp_changemergepublication [ @publication= ] 'publication'
    [ , [ @property= ] 'property' ]
    [ , [ @value= ] 'value' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]

Аргументы

  • [ @publication=] 'publication'
    Имя публикации. Аргумент publication имеет тип sysname и не имеет значения по умолчанию.
  • [ @property=] 'property'
    Изменяемое свойство данной публикации. Аргумент property имеет тип sysname и может иметь одно из значений, перечисленных в таблице.
  • [ @value=] 'value'
    Новое значение заданного свойства. Аргумент value имеет тип nvarchar(255) и может иметь одно из значений, перечисленных в таблице.

    В данной таблице описаны свойства публикации, доступные для изменения, а также ограничения на значения этих свойств.

    Свойство

  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    Подтверждает выполнение действия, предпринятого данной хранимой процедурой, которое может сделать недействительным текущий моментальный снимок. Аргумент force_invalidate_snapshot имеет тип bit и значение по умолчанию 0.

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

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

    О свойствах, которые при изменении требуют формирования нового моментального снимка, см. в разделе «Примечания».

  • [ @force_reinit_subscription = ] force_reinit_subscription
    Подтверждает, что действие, выполняемое данной хранимой процедурой, может сделать необходимой повторную инициализацию текущих подписок. Аргумент force_reinit_subscription имеет тип bit и значение по умолчанию 0.

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

    Значение 1 указывает, что изменения в публикации вызывают повторную инициализацию подписок, и дает разрешение произвести повторную инициализацию.

    О свойствах, которые при изменении требуют повторной инициализации всех текущих подписок, см. в разделе «Примечания».

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

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

Замечания

Хранимая процедура sp_changemergepublication используется в репликации слиянием.

Изменение следующих свойств требует формирования нового моментального снимка и необходимо указать значение 1 для аргумента force_invalidate_snapshot.

  • alt_snapshot_folder
  • compress_snapshot
  • dynamic_filters
  • ftp_address
  • ftp_login
  • ftp_password
  • ftp_port
  • ftp_subdirectory
  • post_snapshot_script
  • publication_compatibility_level (только в выпуске 80SP3)
  • pre_snapshot_script
  • snapshot_in_defaultfolder
  • sync_mode
  • use_partition_groups

Изменение следующих свойств требует повторной инициализации текущих подписок и необходимо указать значение 1 для аргумента force_reinit_subscription.

  • dynamic_filters
  • validate_subscriber_info

Для ввода списка объектов публикации в службу Active Directory с помощью свойства publish_to_active_directory объект SQL Server уже должен быть создан в службе Active Directory.

Разрешения

Только члены фиксированной серверной роли sysadmin или фиксированной роли базы данных db_owner могут выполнять процедуру sp_changemergepublication.

Пример

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge'; 

-- Disable DDL replication for the publication.
USE [AdventureWorks]
EXEC sp_changemergepublication 
  @publication = @publication, 
  @property = N'replicate_ddl', 
  @value = 0,
  @force_invalidate_snapshot = 0, 
  @force_reinit_subscription = 0;
GO

См. также

Справочник

sp_addmergepublication (Transact-SQL)
sp_dropmergepublication (Transact-SQL)
sp_helpmergepublication (Transact-SQL)
Хранимые процедуры репликации (Transact-SQL)

Другие ресурсы

How to: View and Modify Publication Properties (Replication Transact-SQL Programming)
Изменение свойств публикации и статей

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Новое содержимое
  • Добавлены сведения о значении generation_leveling_threshold.