コミットされていない操作の保留中にデータベース・サーバにフォールトが発生した場合、トランザクションのアトミックな状態を保つために、起動時にこれらの操作をロールバックまたはコミットする必要があります。
分散トランザクションからコミットされていない操作がリカバリ中に検出されると、データベース・サーバは DTC に接続を試み、検出された操作を保留または不明のトランザクションに再エンリストするように要求します。再エンリストが完了すると、DTC は未処理操作のロールバックまたはコミットをデータベース・サーバに指示します。
再エンリスト処理が失敗すると、SQL Anywhere は不明の操作をコミットするかロールバックするかを判断できなくて、リカバリは失敗します。データの状態が保証されないことを前提にして、リカバリに失敗したデータベースをリカバリする場合は、次のデータベース・サーバ・オプションを使って強制リカバリします。
-tmf DTC が特定できないときは、未処理の操作をロールバックしてリカバリを続行します。-tmf サーバ・オプションを参照してください。
-tmt 指定した時間内に再エンリストが完了しないときは、未処理の操作をロールバックしてリカバリを続行します。-tmt サーバ・オプションを参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |