1

SOURCEデータベースのSPROCとSybaseASEのDESTINATIONデータベースから一連のアーカイブクエリを実行しています。これらのクエリをバッチまたは一連のトランザクションで実行します。つまりn、各トランザクションでアーカイブされるレコードの数だけです。

ただし、Sybase ASEでログ領域が不足し、SPROCが終了する場合があります。

私の質問は、Sybase ASEがログスペースを使い果たしてSPROCを終了した場合、「ログスペース不足」エラーがSPROCを終了したときに処理していたデータをトランザクションがロールバックするのでしょうか。

「ログスペース不足」エラーが永続する前にコミットされたすべてのトランザクションを知っています。しかし、トランザクションがこのエラーでロールバックするかどうかはわかりません。また、これをテストすることも困難です。

どうもありがとう

4

1 に答える 1

1

これは通常、個々のデータベース設定に依存します。

データベースが [Abort Tran on Log Full] に設定されている場合、トランザクション ログがいっぱいになると、トランザクションは中止またはロールバックされます。このオプションが設定されていない場合、データベースは「LOG SUSPEND」モードになり、領域が解放されるかログに追加されるまで、データベース内のすべてのアクティビティが一時停止します。ログ領域が利用可能になると、トランザクションは完了できるようになります。

データベースに現在設定されているフラグは、 sp_helpdb {DBNAME}コマンドを発行してステータス列を確認することで確認できます。

于 2013-02-15T14:42:14.477 に答える