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


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.

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

    Аргумент publisher не должен использоваться при изменении свойств статьи на издателе 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 [AdventureWorks2012]
EXEC sp_droparticle 
  @publication = @publication, 
  @article = @article,
  @force_invalidate_snapshot = 1;
GO

Разрешения

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

См. также

Справочник

sp_addarticle (Transact-SQL)

sp_changearticle (Transact-SQL)

sp_helparticle (Transact-SQL)

sp_helparticlecolumns (Transact-SQL)

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

Основные понятия

Удаление статьи

Добавление и удаление статей в существующих публикациях