Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » リモート・データとバルク・オペレーション » データのインポートとエクスポート » クライアント・コンピュータ上のデータへのアクセス

 

クライアント側データのロード時のリカバリの計画

トランザクション・ログから 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

ロード操作中にロードしたデータをトランザクション・ログに記録する方法の詳細については、LOAD TABLE 文を参照してください。