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


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