ユーザー・レベル・コマンドは複数のソース・コマンドを実行する可能性があるため、AutoCommitTxn
実行プロパティを指定して、ローカル・トランザクションまたはグローバル・トランザクションにないときのコマンドのトランザクション動作を制御することができます。
このプロパティには以下の設定があります:
Setting | Description |
---|---|
| 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 |
| Wrap each command in a transaction. This mode is the safest, but may introduce performance overhead |
| 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がゼロの場合。更新カウントは、モデルのプロシージャメタデータの一部として、すべてのプロシージャに設定することができます。