ユーザー・レベル・コマンドは複数のソース・コマンドを実行する可能性があるため、AutoCommitTxn実行プロパティを指定して、ローカル・トランザクションまたはグローバル・トランザクションにないときのコマンドのトランザクション動作を制御することができます。

このプロパティには以下の設定があります:

Setting

Description

OFF

Default setting for SQL running inside a job. Do not wrap each command in a transaction. Individual source commands may commit or rollback regardless of the success or failure of the overall command

ON

Wrap each command in a transaction. This mode is the safest, but may introduce performance overhead

DETECT

This is the default setting outside of jobs. Will automatically wrap commands in a transaction, but only if the command seems transactionally unsafe

トランザクションに関するコマンドの安全性の概念は、コマンドのタイプ、トランザクションの分離レベル、および利用可能なメタデータに応じて、CData Virtuality Server によって決定されます。以下の場合、ラッピングトランザクションは必要ありません:

  • ユーザー・コマンドが完全にソースにプッシュされた場合;

  • User コマンドがSELECT (XML を含む) で、トランザクションの分離がREPEATABLE_READまたはSERIALIABLEでない場合;

  • ユーザーコマンドがストアドプロシージャで、トランザクションの分離がREPEATABLE_READまたはSERIALIABLEでなく、updating model countがゼロの場合。更新カウントは、モデルのプロシージャメタデータの一部として、すべてのプロシージャに設定することができます。