sp_dropmergepublication (Transact-SQL)
Удаляет публикацию слиянием и ассоциированный с ней агент моментальных снимков. Прежде чем удалять публикацию слиянием, необходимо удалить все подписки. Статьи в публикации удаляются автоматически. Эта хранимая процедура выполняется на издателе в базе данных публикации.
Синтаксические обозначения в Transact-SQL
Синтаксис
sp_dropmergepublication [ @publication= ] 'publication'
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @reserved = ] reserved ]
[ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]
Аргументы
- [ @publication=] 'publication'
Имя публикации, которая будет удалена. Аргумент publication имеет тип sysname и не имеет значения по умолчанию. Если задан аргумент all, то удаляются все существующие публикации слиянием, а также агент моментальных снимков, ассоциированный с ними. При задании определенного значения аргумента publication удаляется только указанная публикация и ассоциированное с ней задание агента моментальных снимков.
- [ @ignore_distributor =] ignore_distributor
Используется для удаления публикации без выполнения задач очистки на распространителе. Аргумент ignore_distributor имеет тип bit со значением по умолчанию, равным 0. Данный аргумент также используется при переустановке распространителя.
- [ @reserved=] reserved
Зарезервировано для использования в будущем. Аргумент reserved имеет тип bit и значение по умолчанию 0.
- [ @ignore_merge_metadata= ] ignore_merge_metadata
Только для внутреннего использования.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
Процедура sp_dropmergepublication используется для проведения репликации слиянием.
Процедура sp_dropmergepublication рекурсивно сбрасывает все статьи, связанные с публикацией, а затем удаляет саму публикацию. Публикацию нельзя удалить, если у нее есть хотя бы одна подписка. Сведения об удалении подписок см. в разделе How to: Delete a Push Subscription (Replication Transact-SQL Programming) и How to: Delete a Pull Subscription (Replication Transact-SQL Programming).
При удалении публикации с помощью процедуры sp_dropmergepublication опубликованные объекты базы данных публикации и связанные объекты базы данных подписки не удаляются. Используйте DROP <объект> для удаления этих объектов при необходимости.
Разрешения
Процедура sp_dropmergepublication может быть вызвана только членами фиксированной серверной роли sysadmin или фиксированной роли базы данных db_owner.
Пример
DECLARE @publication AS sysname
DECLARE @publicationDB AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge'
SET @publicationDB = N'AdventureWorks'
-- Remove the merge publication.
USE [AdventureWorks]
EXEC sp_dropmergepublication @publication = @publication;
-- Remove replication objects from the database.
USE master
EXEC sp_replicationdboption
@dbname = @publicationDB,
@optname = N'merge publish',
@value = N'false'
GO
См. также
Справочник
sp_addmergepublication (Transact-SQL)
sp_changemergepublication (Transact-SQL)
sp_helpmergepublication (Transact-SQL)
Хранимые процедуры репликации (Transact-SQL)
Другие ресурсы
How to: Delete a Publication (Replication Transact-SQL Programming)