sp_addsynctriggers (Transact-SQL)

適用対象:SQL Server

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

重要

sp_script_synctran_commandsプロシージャの代わりにsp_addsynctrigger使用する必要があります。 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'

パブリッシャーの ID 列の名前。 @identity_colは sysname で、既定値は NULL.

[ @ts_col = ] N'ts_col'

パブリッシャーの タイムスタンプ 列の名前。 @ts_colは sysname で、既定値は NULL.

[ @filter_clause = ] N'filter_clause'

水平フィルターを定義する制限 (WHERE) 句。 制限句を入力するときは、キーワード (keyword) WHERE を省略します。 @filter_clauseは nvarchar(4000) で、既定値は NULL.

[ @primary_key_bitmap = ] primary_key_bitmap

テーブル内の主キー列のビット マップ。 @primary_key_bitmapは varbinary(4000)で、既定値はありません。

[ @identity_support = ] identity_support

キュー更新が使用されている場合に、ID 範囲の自動処理を有効または無効にします。 @identity_supportはビットで、既定値は 0.

  • 0 は、ID 範囲のサポートがないことを意味します。
  • 1 では、ID 範囲の自動処理が有効になります。

[ @independent_agent = ] independent_agent

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

  • エージェントが共有エージェントの場合 0
  • の場合 1、エージェントは独立したエージェントです。

[ @distributor = ] N'distributor'

ディストリビューターの名前。 @distributorは sysname で、既定値はありません。

[ @pubversion = ] pubversion

パブリッシャーのバージョンを指定します。 @pubversionは int で、既定値は 1.

  • 1 は、パブリッシャーのバージョンが SQL Server 2000 (8.x) Service Pack 2 以前のバージョンであることを意味します。
  • 2 は、パブリッシャーが SQL Server 2000 (8.x) Service Pack 3 (SP 3) 以降のバージョンであることを意味します。

パブリッシャー バージョンが SQL Server 2000 (8.x) SP 3 以降のバージョンである場合は、@pubversionを明示的に設定2する必要があります。

[ @dump_cmds = ] dump_cmds

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

リターン コードの値

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

解説

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

アクセス許可

sysadmin 固定サーバー ロールまたは固定データベース ロールdb_ownerメンバーのみが実行sp_addsynctriggersできます。