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


sp_repladdcolumn (Transact-SQL)

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

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

Внимание

Данная хранимая процедура устарела и поддерживается для обеспечения обратной совместимости. Его следует использовать только с издателями Microsoft SQL Server 2000 (8.x) и подписчиками повторной публикации SQL Server 2000 (8.x). Эта процедура не должна использоваться для столбцов с типами данных, которые были представлены в SQL Server 2005 (9.x) или более поздней версии.

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

Синтаксис

  
sp_repladdcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' ]  
    [ , [ @typetext = ] 'typetext' ]  
    [ , [ @publication_to_add = ] 'publication_to_add' ]  
    [ , [ @from_agent = ] from_agent ]  
    [ , [ @schema_change_script = ] 'schema_change_script' ]  
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]  
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]  

Аргументы

[ @source_object =] "source_object"
Имя табличной статьи, в которую будет добавлен столбец. source_object — nvarchar(358), без значения по умолчанию.

[ @column =] 'column'
Имя столбца таблицы, добавляемого для репликации. столбецsysname, без значения по умолчанию.

[ @typetext =] 'typetext'
Определение добавляемого столбца. typetext — nvarchar (3000), без значения по умолчанию. Например, если добавляется столбец order_filled, и это одно символьное поле, а не NULL, а значение по умолчанию N, order_filled будет параметром столбца, а определение столбца, char(1) NOT NULL CONSTRAINT constraint_name DEFAULT "N" будет значением параметра typetext.

[ @publication_to_add =] 'publication_to_add'
Имя публикации, к которой добавляется новый столбец. publication_to_add — nvarchar(4000) с значением по умолчанию ALL. Если все публикации, содержащие эту таблицу, затронуты. Если указан publication_to_add , то только эта публикация добавляет новый столбец.

[ @from_agent = ] from_agent
Выполняется ли хранимая процедура агентом репликации. from_agent имеет значение int с значением по умолчанию 0, где значение 1 используется при выполнении этой хранимой процедуры агентом репликации и в каждом другом случае значение по умолчанию 0должно использоваться.

[ @schema_change_script =] "schema_change_script"
Указывает имя и путь скрипта SQL Server, используемого для изменения системных созданных пользовательских хранимых процедур. schema_change_script — nvarchar(4000) с значением NULL по умолчанию. При репликации транзакций допустимо заменять одну или несколько хранимых процедур по умолчанию пользовательскими. schema_change_script выполняется после внесения изменений схемы в реплицированную таблицу с помощью sp_repladdcolumn и может использоваться для выполнения одного из следующих действий:

  • Если пользовательские хранимые процедуры автоматически создаются, schema_change_script можно использовать для удаления этих пользовательских хранимых процедур и замены пользовательскими пользовательскими хранимыми процедурами, поддерживающими новую схему.

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

[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Определяет возможность недействительности моментального снимка. force_invalidate_snapshot имеет значение по умолчанию 1.

1 указывает, что изменения в статье могут привести к недопустимому моментальному снимку, и если это так, значение 1 дает разрешение на создание нового моментального снимка.

0 указывает, что изменения в статье не вызывают недопустимого моментального снимка.

[ @force_reinit_subscription = ] force_reinit_subscription
Включает или отключает возможность повторной инициализации подписки. force_reinit_subscription имеет значение по умолчанию 0.

0 указывает, что изменения в статье не приводят к повторной инициализации подписки.

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

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

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

Разрешения

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

См. также

Устаревшие функции репликации в SQL Server
Системные хранимые процедуры (Transact-SQL)