トランザクションログから LOAD TABLE 文のリカバリが必要になった場合、データのロードに使用したクライアントコンピュータ上のファイルは SQL Anywhere ですでに使用できないか、変更されている可能性が高いため、元のデータが使用できなくなります。このような状況が発生するのを防ぐため、ロギングがオフになっていないことを確認してください。また、データのロード時に WITH ROW LOGGING または WITH CONTENT LOGGING 句のいずれかを指定してください。これらの句を指定することにより、ロードしているデータがトランザクションログに記録されるため、リカバリ時にトランザクションログのリプレイが可能になります。
WITH ROW LOGGING では、挿入された各ローがトランザクションログに INSERT 文として記録されます。WITH CONTENT LOGGING では、挿入されたデータが、データベースサーバがリカバリ時に処理するためにチャンク単位でトランザクションログに記録されます。どちらの方法も、リカバリ時にクライアント側データをロードできるようにするには適しています。ただし、同期を行っているデータベースにデータをロードする場合は、WITH CONTENT LOGGING は使用できません。
次のいずれかの LOAD TABLE 文を指定する際に、ロギングレベルが指定されていない場合は、WITH CONTENT LOGGING がデフォルトの動作となります。
LOAD TABLE...USING CLIENT FILE client-filename-expression
LOAD TABLE...USING VALUE value-expression
LOAD TABLE...USING COLUMN column-expression
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |