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 предопределенных ролей базы данных.