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>
для удаления этих объектов вручную.
Разрешения
Только члены фиксированной серверной роли sysadmin или фиксированной роли базы данных db_owner могут выполнять процедуру sp_droparticle.
Пример
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @article = N'Product';
-- Drop the transactional article.
USE [AdventureWorks]
EXEC sp_droparticle
@publication = @publication,
@article = @article,
@force_invalidate_snapshot = 1;
GO
См. также
Справочник
sp_addarticle (Transact-SQL)
sp_changearticle (Transact-SQL)
sp_helparticle (Transact-SQL)
sp_helparticlecolumns (Transact-SQL)
Хранимые процедуры репликации (Transact-SQL)
Другие ресурсы
How to: Delete an Article (Replication Transact-SQL Programming)
Добавление и удаление статей в существующих публикациях