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

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

  • プログラム上で ADO.NET または OLE DB の API 関数を使用する方法

  • デスクトップで Visual Studio 2010 SP1 を使用する方法

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

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

  • SQL Server Compact は、トランザクションのネストをサポートしませんが、ADO.NET の並列トランザクションをサポートしています。

  • SQL Server Compact では、カーソルがトランザクション内で開かれる場合、そのカーソルはそのトランザクションの範囲内に存在します。トランザクションが中止されると、カーソルは存在しなくなります。トランザクションをキャンセルした後に引き続きカーソルを使用するには、トランザクションの範囲外でカーソルを作成します。つまり、OLE DB for SQL Server Compact のコンテキストでは、レコードセットが無効になるので、レコードセットを閉じる必要があります。トランザクションがコミットされても、カーソルはそのまま存在し、十分に機能します。

  • SQL Server Compact は、分散トランザクションをサポートしません。

  • SQL Server Compact は、セーブ ポイントをサポートしません。ポイントの保存により、アプリケーションは、軽度のエラーが発生した場合にトランザクションの一部をロールバックすることができます。アプリケーションは、トランザクションの完了時に、トランザクション全体をコミットまたはロールバックする必要があります。

このセクションの内容

トピック

説明

トランザクションの制御

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

トランザクションの種類

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

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

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