sp_addsynctriggers (Transact-SQL)
Область применения: SQL Server
Создает триггеры на подписчике, используемом со всеми типами обновляемых подписок (немедленно, в очереди и немедленном обновлении при обновлении в очереди в качестве отработки отказа). Эта хранимая процедура выполняется на подписчике в базе данных подписки.
Внимание
Вместо этого sp_addsynctrigger
следует использовать процедуру sp_script_synctran_commands. sp_script_synctran_commands создает скрипт, содержащий sp_addsynctrigger
вызовы.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_addsynctriggers
[ @sub_table = ] N'sub_table'
, [ @sub_table_owner = ] N'sub_table_owner'
, [ @publisher = ] N'publisher'
, [ @publisher_db = ] N'publisher_db'
, [ @publication = ] N'publication'
, [ @ins_proc = ] N'ins_proc'
, [ @upd_proc = ] N'upd_proc'
, [ @del_proc = ] N'del_proc'
, [ @cftproc = ] N'cftproc'
, [ @proc_owner = ] N'proc_owner'
[ , [ @identity_col = ] N'identity_col' ]
[ , [ @ts_col = ] N'ts_col' ]
[ , [ @filter_clause = ] N'filter_clause' ]
, [ @primary_key_bitmap = ] primary_key_bitmap
[ , [ @identity_support = ] identity_support ]
[ , [ @independent_agent = ] independent_agent ]
, [ @distributor = ] N'distributor'
[ , [ @pubversion = ] pubversion ]
[ , [ @dump_cmds = ] dump_cmds ]
[ ; ]
Аргументы
[ @sub_table = ] N'sub_table'
Имя таблицы подписчика. @sub_table — sysname без значения по умолчанию.
[ @sub_table_owner = ] N'sub_table_owner'
Имя владельца таблицы подписчика. @sub_table_owner — sysname без значения по умолчанию.
[ @publisher = ] N'publisher'
Имя сервера издателя. @publisher — sysname без значения по умолчанию.
[ @publisher_db = ] N'publisher_db'
Имя базы данных издателя. @publisher_db — sysname без значения по умолчанию. Если NULL
используется текущая база данных.
[ @publication = ] N'publication'
Имя публикации. @publication — sysname без значения по умолчанию.
[ @ins_proc = ] N'ins_proc'
Имя хранимой процедуры, поддерживающей синхронную вставку транзакций на издателе. @ins_proc — sysname без значения по умолчанию.
[ @upd_proc = ] N'upd_proc'
Имя хранимой процедуры, поддерживающей синхронные обновления транзакций на издателе. @upd_proc — sysname, без значения по умолчанию.
[ @del_proc = ] N'del_proc'
Имя хранимой процедуры, поддерживающей синхронную транзакцию, удаляется на издателе. @del_proc — sysname без значения по умолчанию.
[ @cftproc = ] N'cftproc'
Имя автогенерированной процедуры, используемой публикациями, которые позволяют обновлять очереди. @cftproc — sysname без значения по умолчанию. Для публикаций, разрешающих немедленное обновление, это значение равно NULL
. Этот параметр относится к публикациям, поддерживающим обновление посредством очередей (обновление посредством очередей и немедленное обновление с переходом на обновление посредством очередей при отработке отказа).
[ @proc_owner = ] N'proc_owner'
Указывает учетную запись пользователя в издателе, в которой были созданы все автоматически созданные хранимые процедуры для обновления публикации (в очереди и/или немедленной). @proc_owner — sysname без значения по умолчанию.
[ @identity_col = ] N'identity_col'
Имя столбца удостоверения на издателе. @identity_col — sysname с значением по умолчаниюNULL
.
[ @ts_col = ] N'ts_col'
Имя столбца метки времени на издателе. @ts_col имеет имя sysname с значением по умолчаниюNULL
.
[ @filter_clause = ] N'filter_clause'
Предложение ограничения (WHERE), определяющее горизонтальный фильтр. При вводе предложения ограничения опустите ключевое слово WHERE. @filter_clause — nvarchar(4000) с значением по умолчаниюNULL
.
[ @primary_key_bitmap = ] primary_key_bitmap
Битовая карта столбцов первичного ключа в таблице. @primary_key_bitmap — varbinary(4000), без значения по умолчанию.
[ @identity_support = ] identity_support
Включает и выключает автоматическую обработку диапазона идентификаторов при использовании обновления посредством очереди. @identity_support бит с значением по умолчанию0
.
0
означает, что нет поддержки диапазона удостоверений.1
включает автоматическую обработку диапазона удостоверений.
[ @independent_agent = ] independent_agent
Указывает, существует ли для этой публикации один агент распространения (независимый агент) или одна агент распространения для каждой базы данных публикации и пары баз данных подписки (общий агент). @independent_agent бит с значением по умолчанию0
. Это значение отражает значение independent_agent
свойства публикации, определенной на издателе.
- Если
0
агент является общим агентом. - Если
1
агент является независимым агентом.
[ @distributor = ] N'distributor'
Имя распространителя. @distributor — sysname без значения по умолчанию.
[ @pubversion = ] pubversion
Указывает версию издателя. @pubversion имеет значение int с значением по умолчанию1
.
1
Означает, что версия издателя — SQL Server 2000 (8.x) с пакетом обновления 2 или более ранними версиями.2
Означает, что издатель — SQL Server 2000 (8.x) с пакетом обновления 3 (SP 3) и более поздними версиями.
@pubversion необходимо явно задать2
, если версия издателя — SQL Server 2000 (8.x) с пакетом обновления 3 (SP 3) и более поздних версий.
[ @dump_cmds = ] dump_cmds
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_addsynctriggers
используется агент распространения в рамках инициализации подписки. Эта хранимая процедура обычно не выполняется пользователями, но может быть полезной, если пользователь должен настроить подписку без синхронизации вручную.
Разрешения
Могут выполняться только члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных.sp_addsynctriggers