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


sp_addsynctriggers (Transact-SQL)

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

Важное примечаниеВажно!

Процедуру 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)

Основные понятия

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