Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server
Используется для указания столбцов, включенных в статью, для вертикальной фильтрации данных в опубликованной таблице. Эта хранимая процедура выполняется на издателе в базе данных публикации.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_articlecolumn
[ @publication = ] N'publication'
, [ @article = ] N'article'
[ , [ @column = ] N'column' ]
[ , [ @operation = ] N'operation' ]
[ , [ @refresh_synctran_procs = ] refresh_synctran_procs ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @change_active = ] change_active ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ , [ @publisher = ] N'publisher' ]
[ , [ @internal = ] internal ]
[ ; ]
Аргументы
[ @publication = ] N'publication'
Имя публикации, содержащей эту статью. @publication — sysname без значения по умолчанию.
[ @article = ] N'article'
Имя статьи. @article — sysname без значения по умолчанию.
[ @column = ] N'column'
Имя столбца, добавляемого или удаляемого. @column имеет имя sysname с значением по умолчаниюNULL. Если NULLвсе столбцы публикуются.
[ @operation = ] N'operation'
Указывает, следует ли добавлять или удалять столбцы из статьи. @operation — nvarchar(5) с значением по умолчаниюadd.
addпомечает столбец для репликации.dropотменяет метку столбца.
[ @refresh_synctran_procs = ] refresh_synctran_procs
Указывает, формируются ли повторно хранимые процедуры, поддерживающие немедленно обновляемую подписку, для согласования с числом реплицируемых столбцов. @refresh_synctran_procs бит с значением по умолчанию1. Если 1хранимые процедуры создаются повторно.
[ @ignore_distributor = ] ignore_distributor
Указывает, выполняется ли данная хранимая процедура без подключения к распространителю. @ignore_distributor имеет значение по умолчанию0.
- Если
0база данных должна быть включена для публикации, и кэш статей должен быть обновлен, чтобы отразить новые столбцы, реплицированные в статье. - Если
1позволяет удалять столбцы статей для статей, находящихся в неопубликованной базе данных; следует использовать только в ситуациях восстановления.
[ @change_active = ] change_active
Разрешает изменение столбцов в публикациях, на которые имеются подписки. @change_active имеет значение int с значением по умолчанию0.
- Если
0столбцы не изменяются. - Если
1столбцы можно добавлять или удалять из активных статей с подписками.
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Подтверждает, что действие, выполненное этой хранимой процедурой, может сделать недействительным существующий моментальный снимок. @force_invalidate_snapshot бит с значением по умолчанию0.
0указывает, что изменения в статье не вызывают недопустимого моментального снимка. Если хранимая процедура определяет, что изменение требует создания нового моментального снимка, возникает ошибка и изменения не выполняются.1указывает, что изменения в статье могут привести к недопустимому моментальному снимку, и если существуют существующие подписки, для которых требуется новый моментальный снимок, предоставляет разрешение для того, чтобы существующий моментальный снимок был помечен как устаревший и создан новый моментальный снимок.
[ @force_reinit_subscription = ] force_reinit_subscription
Подтверждает, что действие, выполняемое данной хранимой процедурой, может сделать необходимой повторную инициализацию существующих подписок. @force_reinit_subscription бит с значением по умолчанию0.
0указывает, что изменения в статье не приводят к повторной инициализации подписки. Если хранимая процедура определяет, что изменение потребует повторной инициализации подписки, то выдается сообщение об ошибке, и изменения не производится.1указывает, что изменения в статье приводят к повторной инициализации существующих подписок и предоставляют разрешение на повторную инициализацию подписки.
[ @publisher = ] N'publisher'
Указывает издатель, отличный от SQL Server. @publisher — sysname с значением по умолчаниюNULL.
@publisher не следует использовать с издателем SQL Server.
[ @internal = ] внутренний
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
Значения кода возврата
0 (успешно) или 1 (сбой).
Замечания
sp_articlecolumn используется в репликации моментальных снимков и репликации транзакций.
С помощью sp_articlecolumnфильтра можно отфильтровать только статью без подписки.
Примеры
DECLARE @publication AS sysname;
DECLARE @table AS sysname;
DECLARE @filterclause AS nvarchar(500);
DECLARE @filtername AS nvarchar(386);
DECLARE @schemaowner AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @table = N'Product';
SET @filterclause = N'[DiscontinuedDate] IS NULL';
SET @filtername = N'filter_out_discontinued';
SET @schemaowner = N'Production';
-- Add a horizontally and vertically filtered article for the Product table.
-- Manually set @schema_option to ensure that the Production schema
-- is generated at the Subscriber (0x8000000).
EXEC sp_addarticle
@publication = @publication,
@article = @table,
@source_object = @table,
@source_owner = @schemaowner,
@schema_option = 0x80030F3,
@vertical_partition = N'true',
@type = N'logbased',
@filter_clause = @filterclause;
-- (Optional) Manually call the stored procedure to create the
-- horizontal filtering stored procedure. Since the type is
-- 'logbased', this stored procedures is executed automatically.
EXEC sp_articlefilter
@publication = @publication,
@article = @table,
@filter_clause = @filterclause,
@filter_name = @filtername;
-- Add all columns to the article.
EXEC sp_articlecolumn
@publication = @publication,
@article = @table;
-- Remove the DaysToManufacture column from the article
EXEC sp_articlecolumn
@publication = @publication,
@article = @table,
@column = N'DaysToManufacture',
@operation = N'drop';
-- (Optional) Manually call the stored procedure to create the
-- vertical filtering view. Since the type is 'logbased',
-- this stored procedures is executed automatically.
EXEC sp_articleview
@publication = @publication,
@article = @table,
@filter_clause = @filterclause;
GO
Разрешения
Могут выполняться только члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных.sp_articlecolumn
Связанный контент
- Определение статьи
- Определение и изменение фильтра столбцов
- Фильтрация опубликованных данных
- sp_addarticle (Transact-SQL)
- sp_articleview (Transact-SQL)
- sp_changearticle (Transact-SQL)
- sp_droparticle (Transact-SQL)
- sp_helparticle (Transact-SQL)
- sp_helparticlecolumns (Transact-SQL)
- Хранимые процедуры репликации (Transact-SQL)