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 г. |
|