sp_droppublication (Transact-SQL)

Применимо к: SQL Server Управляемый экземпляр SQL Azure

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

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

Синтаксис

  
sp_droppublication [ @publication= ] 'publication'   
    [ , [ @ignore_distributor = ] ignore_distributor ]  

Аргументы

[ @publication = ] 'publication' Имя удаляемой публикации. параметр publication имеет значение sysname без значения по умолчанию. Если указан параметр all , все публикации удаляются из базы данных публикаций, за исключением публикаций с подписками.

[ @ignore_distributor = ] ignore_distributor

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

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

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

Комментарии

sp_droppublication используется в репликации моментальных снимков и репликации транзакций.

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

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

Разрешения

Только члены предопределенной роли сервера sysadmin могут выполнять sp_droppublication.

Примеры

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 

-- Remove a transactional publication.
USE [AdventureWorks2012]
EXEC sp_droppublication @publication = @publication;

-- Remove replication objects from the database.
USE [master]
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname = N'publish', 
  @value = N'false';
GO

См. также:

Delete a Publication (Удаление публикации)
sp_addpublication (Transact-SQL)
sp_changepublication (Transact-SQL)
sp_helppublication (Transact-SQL)
Хранимые процедуры репликации (Transact-SQL)