sp_addsynctriggers (Transact-SQL)

すべての種類の更新可能なサブスクリプション (即時更新、キュー更新、およびフェールオーバーとしてキュー更新を使用する即時更新) と共に使用できるトリガーを、サブスクライバー側で作成します。 このストアド プロシージャは、サブスクライバー側でサブスクリプション データベースについて実行されます。

重要な注意事項重要

sp_addsynctrigger の代わりに、sp_script_synctran_commands プロシージャを使用する必要があります。 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'
    パブリッシャーでの ID 列の名前を指定します。 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
    キュー更新を使用するときの自動 ID 範囲処理を有効または無効にします。 identity_support のデータ型は bit で、既定値は 0 です。 0 を指定した場合、ID 範囲はサポートされません。1 を指定した場合、自動 ID 範囲処理が有効になります。

  • [ @independent_agent = ] independent_agent
    このパブリケーションに対して単独のディストリビューション エージェント (独立エージェント) があるか、パブリケーション データベースとサブスクリプション データベースの 1 つのペアにつき 1 つのディストリビューション エージェント (共有エージェント) があるかを示します。 この値には、パブリッシャーで定義されているパブリケーションの independent_agent プロパティの値が反映されます。 independent_agent のデータ型は bit で、既定値は 0 です。 0 は、エージェントが共有エージェントであることを示します。 1 は、エージェントが独立エージェントであることを示します。

  • [ @distributor = ] 'distributor'
    ディストリビューターの名前です。 distributor のデータ型は sysname で、既定値はありません。

  • [ @pubversion= ] pubversion
    パブリッシャーのバージョンを指定します。 pubversion のデータ型は int で、既定値は 1 です。 1 はパブリッシャーのバージョンが Microsoft SQL Server 2000 Service Pack 2 以前であることを示し、2 はパブリッシャーが SQL Server 2000 Service Pack 3 (SP3) 以降であることを示します。 パブリッシャーのバージョンが SQL Server 2000 SP3 以降の場合は、pubversion を 2 と明示的に設定する必要があります。

戻り値

0 (成功) または 1 (失敗)

説明

sp_addsynctriggers は、ディストリビューション エージェントによって、サブスクリプション初期化の一部として使用されます。 このストアド プロシージャは、ユーザーが頻繁に実行するものではありません。ただし、同期なしサブスクリプションを手動で設定する場合に利用できるストアド プロシージャです。

権限

sp_addsynctriggers を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバーだけです。

関連項目

参照

sp_script_synctran_commands (Transact-SQL)

システム ストアド プロシージャ (Transact-SQL)

概念

トランザクション レプリケーションの更新可能なサブスクリプション