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


sp_droparticle (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

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

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

Синтаксис

sp_droparticle
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @from_drop_publication = ] from_drop_publication ]
[ ; ]

Аргументы

[ @publication = ] N'publication'

Имя публикации, содержащей удаленную статью. @publication — sysname без значения по умолчанию.

[ @article = ] N'article'

Имя статьи, отброшенной. @article — sysname без значения по умолчанию.

[ @ignore_distributor = ] ignore_distributor

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

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

Подтверждает, что действие, выполненное этой хранимой процедурой, может сделать недействительным существующий моментальный снимок. @force_invalidate_snapshot бит с значением по умолчанию0.

  • 0 указывает, что изменения в статье не вызывают недопустимого моментального снимка. Если хранимая процедура определяет, что изменение требует создания нового моментального снимка, возникает ошибка и изменения не выполняются.

  • 1 указывает, что изменения в статье могут привести к недопустимому моментальному снимку, и если существуют существующие подписки, для которых требуется новый моментальный снимок, предоставляет разрешение для того, чтобы существующий моментальный снимок был помечен как устаревший и создан новый моментальный снимок.

[ @publisher = ] N'publisher'

Указывает издатель, отличный от SQL Server. @publisher — sysname с значением по умолчаниюNULL.

Этот параметр не следует использовать при изменении свойств статьи на издателе SQL Server.

[ @from_drop_publication = ] from_drop_publication

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

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

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

Замечания

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

Для статей с горизонтальной фильтрацией проверяет type столбец статьи в таблице sysarticles, чтобы определить, sp_droparticle следует ли удалить представление или фильтр. Если представление или фильтр был создан автоматически, он удаляется со статьей. Если он был создан вручную, он не удаляется.

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

Примеры

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksProductTran'; 
SET @article = N'Product'; 

-- Drop the transactional article.
USE [AdventureWorks2022]
EXEC sp_droparticle 
  @publication = @publication, 
  @article = @article,
  @force_invalidate_snapshot = 1;
GO

Разрешения

Могут выполняться только члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных.sp_droparticle