sp_addsynctriggers (Transact-SQL)
すべての種類の更新可能なサブスクリプション (即時更新、キュー更新、およびフェールオーバーとしてキュー更新を使用する即時更新) と共に使用できるトリガを、サブスクライバ側で作成します。このストアド プロシージャは、サブスクライバ側でサブスクリプション データベースについて実行されます。
重要 : |
---|
sp_script_synctran_commands プロシージャは、sp_addsynctrigger の代わりに使用します。sp_script_synctran_commands では、sp_addsynctrigger 呼び出しを含むスクリプトが生成されます。 |
構文
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 と明示的に設定する必要があります。
解説
sp_addsynctriggers は、ディストリビューション エージェントによって、サブスクリプション初期化の一部として使用されます。このストアド プロシージャは、ユーザーが頻繁に実行するものではありません。ただし、同期なしサブスクリプションを手動で設定する場合に利用できるストアド プロシージャです。
権限
sp_addsynctriggers を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバだけです。
戻り値
0 (成功) または 1 (失敗)
参照
関連項目
sp_script_synctran_commands (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)
その他の技術情報
トランザクション レプリケーションの更新可能なサブスクリプション