sp_addsynctriggers (Transact-SQL)

Создает триггеры на подписчике, которые используются всеми типами обновляемых подписок (немедленного обновления, обновления посредством очередей и немедленного обновления с переходом на обновление посредством очередей). Эта хранимая процедура выполняется на подписчике в базе данных подписки.

ms189766.note(ru-ru,SQL.90).gifВажно!
Необходимо использовать хранимую процедуру sp_script_synctran_commands вместо sp_addsynctrigger. Процедура sp_script_synctran_commands формирует сценарий, который содержит вызовы процедуры sp_addsynctrigger.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_addsynctriggers [ @sub_table = ] 'sub_table'
        , [ @sub_table_owner = ] 'sub_table_owner'
        , [ @publisher = ] 'publisher'
        , [ @publisher_db = ] 'publisher_db'
        , [ @publication = ] 'publication' 
        , [ @ins_proc = ] 'ins_proc' 
        , [ @upd_proc = ] 'upd_proc' 
        , [ @del_proc = ] 'del_proc' 
        , [ @cftproc = ] 'cftproc'
        , [ @proc_owner = ] 'proc_owner'
    [ , [ @identity_col = ] 'identity_col' ]
    [ , [ @ts_col = ] 'timestamp_col' ]
    [ , [ @filter_clause = ] 'filter_clause' ] 
        , [ @primary_key_bitmap = ] 'primary_key_bitmap'
    [ , [ @identity_support = ] identity_support ]
    [ , [ @independent_agent = ] independent_agent ]
        , [ @distributor = ] 'distributor' 
    [ , [ @pubversion = ] pubversion

Аргументы

  • [ @sub_table=] 'sub_table'
    Имя таблицы подписчика. Аргумент sub_table имеет тип sysname и не имеет значения по умолчанию.
  • [ @sub_table_owner=] 'sub_table_owner'
    Имя владельца таблицы подписчика. Аргумент sub_table_owner имеет тип sysname и не имеет значения по умолчанию.
  • [ @publisher=] 'publisher'
    Имя сервера издателя. Аргумент publisher имеет тип sysname и не имеет значения по умолчанию.
  • [ @publisher_db=] 'publisher_db'
    Имя базы данных издателя. Аргумент publisher_db имеет тип sysname и не имеет значения по умолчанию. Если значение равно NULL, используется текущая база данных.
  • [ @publication=] 'publication'
    Имя публикации. Аргумент Publication имеет тип sysname и не имеет значения по умолчанию.
  • [ @ins_proc=] 'ins_proc'
    Имя хранимой процедуры, которое поддерживает синхронные вставки транзакций на издателе. Аргумент ins_proc имеет тип sysname и не имеет значения по умолчанию.
  • [ @upd_proc=] 'upd_proc'
    Имя хранимой процедуры, которое поддерживает синхронные обновления транзакций на издателе. Аргумент ins_proc имеет тип sysname и не имеет значения по умолчанию.
  • [ @del_proc=] 'del_proc'
    Имя хранимой процедуры, которое поддерживает синхронные удаления транзакций на издателе. Аргумент ins_proc имеет тип sysname и не имеет значения по умолчанию.
  • [ @cftproc = ] 'cftproc'
    Имя автоматически формируемой процедуры, используемой публикациями, поддерживающими обновление посредством очередей. Аргумент cftproc имеет тип sysname и не имеет значения по умолчанию. Для публикаций, поддерживающих немедленное обновление, значением этого аргумента является NULL. Этот параметр относится к публикациям, поддерживающим обновление посредством очередей (обновление посредством очередей и немедленное обновление с переходом на обновление посредством очередей).
  • [ @proc_owner = ] 'proc_owner'
    Указывает учетную запись пользователя на издателе, с которой создаются все автоматически формируемые хранимые процедуры для обновления публикации (отложенного или немедленного). Аргумент proc_owner имеет тип sysname и не имеет значения по умолчанию.
  • [ @identity_col=] 'identity_col'
    Имя столбца идентификатора на издателе. Аргумент identity_col имеет тип sysname и значение NULL по умолчанию.
  • [ @ts_col=] 'timestamp_col'
    Имя столбца timestamp на издателе. Аргумент timestamp_col имеет тип sysname и значение NULL по умолчанию.
  • [ @filter_clause=] '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 имеет тип bit и значение 0 по умолчанию. 0 означает, что диапазон идентификаторов не поддерживается, 1 включает автоматическую обработку диапазона идентификаторов.
  • [ @independent_agent = ] independent_agent
    Указывает, используется ли для данной публикации отдельный агент распространителя (независимый агент) или используется один агент распространителя для каждой пары базы данных публикации и базы данных подписки (общий агент). Это значение отражает значение свойства independent_agent для публикации, определенной на издателе. Аргумент independent_agent имеет тип bit и значение 0 по умолчанию. Значение 0 означает, что агент является общим. Значение 1 означает, что агент является независимым.
  • [ @distributor = ] 'distributor'
    Имя распространителя. Аргумент distributor имеет тип sysname и не имеет значения по умолчанию.
  • [ @pubversion= ] pubversion
    Указывает версию издателя. Аргумент pubversion имеет тип int и значение 1 по умолчанию. Значение 1 указывает, что версия издателя — Microsoft SQL Server 2000 с пакетом обновления 2 (SP2) или более ранняя версия. Значение 2 указывает, что издатель — SQL Server 2000 с пакетом обновления 3 (SP3) или более поздняя версия. Параметр pubversion должен быть явно установлен в значение 2, если версия издателя — SQL Server 2000 с пакетом обновления 3 (SP3) или более поздняя версия.

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

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

Замечания

Хранимая процедура sp_addsynctriggers используется агентом распространителя как часть инициализации подписки. Как правило, пользователи не запускают эту хранимую процедуру, но она может быть полезной при необходимости ручной установки подписки без синхронизации.

Разрешения

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

См. также

Справочник

Хранимая процедура sp_script_synctran_commands (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)

Другие ресурсы

Обновляемые подписки для репликации транзакций

Справка и поддержка

Получение помощи по SQL Server 2005