sp_dropmergepublication (Transact-SQL)

Область применения: SQL Server

Удаляет публикацию слиянием и ассоциированный с ней агент моментальных снимков. Прежде чем удалять публикацию слиянием, необходимо удалить все подписки. Статьи в публикации удаляются автоматически. Эта хранимая процедура выполняется на издателе в базе данных публикации.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_dropmergepublication
    [ @publication = ] N'publication'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @reserved = ] reserved ]
    [ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]
[ ; ]

Аргументы

[ @publication = ] N'publication'

Имя раскрываемой публикации. @publication — sysname без значения по умолчанию. Если allвсе существующие публикации слиянием удаляются, а также задание агент моментальных снимков, связанное с ними. Если указать определенное значение для @publication, удаляются только те публикации и связанные агент моментальных снимков задания.

[ @ignore_distributor = ] ignore_distributor

Используется для удаления публикации без выполнения задач очистки на распространителе. @ignore_distributor имеет значение по умолчанию0. Данный аргумент также используется при переустановке распространителя.

[ @reserved = ] зарезервировано

Зарезервировано для последующего использования. @reserved бит с значением по умолчанию0.

[ @ignore_merge_metadata = ] ignore_merge_metadata

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

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

0 (успешно) или 1 (сбой).

Замечания

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

sp_dropmergepublication рекурсивно удаляет все статьи, связанные с публикацией, а затем удаляет саму публикацию. Публикацию нельзя удалить, если она является одной или несколькими подписками. Сведения об удалении подписок см. в разделе "Удаление принудительной подписки " и "Удаление подписки по запросу".

sp_dropmergepublication При удалении публикации не удаляются опубликованные объекты из базы данных публикации или соответствующие объекты из базы данных подписки. При необходимости эти объекты могут быть удалены вручную при помощи инструкции DROP <object>.

Примеры

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_dropmergepublicationтолько члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных.