トランザクション (SQL Server Compact)

トランザクションは、データベースの一連の変更を 1 つの論理操作にグループ化するためのメカニズムです。データベースに複数の変更を行った後、これらの変更を 1 つの単位としてコミットまたはキャンセルできます。Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) はトランザクションをサポートしています。トランザクションは、複数の方法で使用できます。

  • プログラム上で ADO .NET または OLE DB の API 関数を使用する方法
  • デバイス上で SQL Server Compact 3.5 クエリ アナライザを使用する方法
  • デスクトップで SQL Server Management Studio を使用する方法

トランザクションにより、原子性、一貫性、分離性、および持続性 (ACID) のプロパティを使用して、データがデータベースに正しくコミットされるようになります。トランザクションの ACID プロパティの詳細については、SQL Server オンライン ブックの「トランザクション」を参照してください。

SQL Server Compact 3.5 で実行するためのアプリケーションを開発する場合、SQL Server Compact 3.5 と Microsoft SQL Server 2008 の以下の相違点に注意してください。

  • SQL Server Compact 3.5 は、トランザクションのネストをサポートしませんが、ADO.NET の並列トランザクションをサポートしています。
  • SQL Server Compact 3.5 では、カーソルがトランザクション内で開かれる場合、そのカーソルはそのトランザクションの範囲内に存在します。トランザクションが中止されると、カーソルは存在しなくなります。トランザクションをキャンセルした後に引き続きカーソルを使用するには、トランザクションの範囲外でカーソルを作成します。つまり、OLE DB for SQL Server Compact 3.5 のコンテキストでは、レコードセットが無効になるので、レコードセットを閉じる必要があります。トランザクションがコミットされても、カーソルはそのまま存在し、十分に機能します。
  • SQL Server Compact 3.5 は、分散トランザクションをサポートしません。
  • SQL Server Compact 3.5 は、セーブ ポイントをサポートしません。ポイントの保存により、アプリケーションは、軽度のエラーが発生した場合にトランザクションの一部をロールバックすることができます。アプリケーションは、トランザクションの完了時に、トランザクション全体をコミットまたはロールバックする必要があります。

このセクションの内容

トピック 説明

トランザクションの制御

トランザクションの開始時と終了時のアプリケーションの制御方法について説明します。

トランザクションの種類

SQL Server Compact 3.5 がサポートする 2 種類のトランザクション (明示的なトランザクションと自動コミット トランザクション) について説明します。

トランザクションと接続

Microsoft SQL Server データベースに接続して、そのデータベースとデータを交換する方法である、リモート データ アクセス (RDA) とマージ レプリケーションについて説明します。

トランザクション スコープ

TransactionScope クラスの実装および制限について説明します。