気をつけろ。
読み取り専用だからといって、必ずしも 2PC が適用されないわけではありません。2 つのデータベースがあり、両方を読み取り、一方のみを更新する場合、一貫した結果を保証するためにトランザクションが必要です。データベース A を読み取り、その結果を使用してデータベース B を読み取り、更新するシナリオがあるとします。データベース A とのトランザクションの使用に失敗した場合、操作がアクティブである間に、読み取ったデータがデータベース A は、別のアプリケーションで読み取りおよび更新できます。この場合、データベース B で一貫性のないデータを取得できます。
本当に両方のデータベースを読み取り、どちらも更新しない場合は、分散トランザクションとそれに伴うロックは不要だと考えるかもしれません。繰り返しますが、そうではないかもしれません。このシナリオでも、他のアプリケーションが同じデータベースを更新している場合、一貫性のない読み取りが発生する可能性があります。これは、要件とデータベースの他のユーザーによって異なります。
分離レベルを読んで、読み取り操作中であっても、データベースなどのすべての耐久性のあるストアに適用されるロックについての洞察を得ることをお勧めします。トランザクション ロックは不要な場合があります。たとえば、実質的に変更されない(アプリ による書き込みがない) データを扱う場合は不要です。
おそらく、ここにビジネス上の解決策があります。ベンダーと交渉して、XA の有効化の価格を引き下げ、それを支払うことです。景気が良ければ、余裕のある取引ができるかもしれません。補足: データベースのライセンスを取得してもトランザクションを取得できないことに驚いています。そのような方法で Sybase のライセンスを取得できることを知りませんでした。