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 рекурсивно сбрасывает все статьи, связанные с публикацией, а затем удаляет саму публикацию. Публикацию нельзя удалить, если у нее есть хотя бы одна подписка. Сведения об удалении подписок см. в разделах Удаление принудительной подписки и Удаление подписки по запросу.
При удалении статьи из публикации с помощью процедуры 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
См. также
Справочник
sp_addpublication (Transact-SQL)
sp_changepublication (Transact-SQL)
sp_helppublication (Transact-SQL)
Хранимые процедуры репликации (Transact-SQL)