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


sp_droparticle (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

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

Аргументы

  • [ @publication=] 'publication'
    Имя публикации, содержащее статью для удаления. Аргумент publication имеет тип sysname и не имеет значения по умолчанию.

  • [ @article=] 'article'
    Имя статьи для удаления. Аргумент article имеет тип sysname и не имеет значения по умолчанию.

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

  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    Подтверждает, что действие, предпринятое этой хранимой процедурой, может сделать недействительным существующий моментальный снимок. Аргумент force_invalidate_snapshot имеет тип bit и значение 0 по умолчанию.

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

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

  • [ @publisher= ] 'publisher'
    Указывает издатель, не являющийся Microsoft SQL Server. Аргумент publisher имеет тип sysname и значение по умолчанию NULL.

    ПримечаниеПримечание

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

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

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

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

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

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

Выполнение процедуры 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 [AdventureWorks2008R2]
EXEC sp_droparticle 
  @publication = @publication, 
  @article = @article,
  @force_invalidate_snapshot = 1;
GO

Разрешения

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