Поделиться через


sp_droppublication (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в 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 рекурсивно сбрасывает все статьи, связанные с публикацией, а затем удаляет саму публикацию. Публикацию нельзя удалить, если у нее есть хотя бы одна подписка. Сведения об удалении подписок см. в разделах How to: Delete a Push Subscription (Replication Transact-SQL Programming) и How to: Delete a Pull Subscription (Replication Transact-SQL Programming).

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

Разрешения

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

Примеры

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

-- Remove a transactional publication.
USE [AdventureWorks]
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

См. также

Справочник

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

Другие ресурсы

How to: Delete a Publication (Replication Transact-SQL Programming)

Справка и поддержка

Получение помощи по SQL Server 2005