sp_droppublication (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Удаляет публикацию и ассоциированный с ней агент моментальных снимков. Прежде чем удалять публикацию, необходимо удалить все подписки. Статьи в публикации удаляются автоматически. Эта хранимая процедура выполняется на издателе в базе данных публикации.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_droppublication
[ @publication = ] N'publication'
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @publisher = ] N'publisher' ]
[ , [ @from_backup = ] from_backup ]
[ ; ]
Аргументы
[ @publication = ] N'publication'
Имя публикации, который нужно удалить. @publication — sysname без значения по умолчанию. Если all
указано, все публикации удаляются из базы данных публикации, за исключением публикаций с подписками.
[ @ignore_distributor = ] ignore_distributor
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
[ @publisher = ] N'publisher'
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
[ @from_backup = ] from_backup
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_droppublication
используется в репликации моментальных снимков и репликации транзакций.
sp_droppublication
рекурсивно удаляет все статьи, связанные с публикацией, а затем удаляет саму публикацию. Публикацию нельзя удалить, если она является одной или несколькими подписками. Сведения об удалении подписок см. в разделе "Удаление принудительной подписки " и "Удаление подписки по запросу".
sp_droppublication
При удалении публикации не удаляются опубликованные объекты из базы данных публикации или соответствующие объекты из базы данных подписки. При необходимости эти объекты могут быть удалены вручную при помощи инструкции DROP <object>
.
Разрешения
Могут выполняться sp_droppublication
только члены предопределенных ролей сервера sysadmin.
Примеры
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks';
SET @publication = N'AdvWorksProductTran';
-- Remove a transactional publication.
USE [AdventureWorks2022]
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