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


sp_repladdcolumn (Transact-SQL)

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

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

Внимание

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

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

Синтаксис

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

Аргументы

[ @source_object = ] N'source_object'

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

[ @column = ] N'column'

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

[ @typetext = ] N'typetext'

Определение добавляемого столбца. @typetext — nvarchar(3000), без значения по умолчанию. Например, если столбец order_filled добавляется, и это одно символьное поле, а не NULLзначение N, order_filled будет параметром столбца, а определение столбца, char(1) NOT NULL CONSTRAINT constraint_name ЗНАЧЕНИЕ ПАРАМЕТРА ПО УМОЛЧАНИю "N" будет значением параметра @typetext.

[ @publication_to_add = ] N'publication_to_add'

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

[ @from_agent = ] from_agent

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

[ @schema_change_script = ] N'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 (сбой).

Разрешения

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