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 предопределенных ролей базы данных.