トランザクションと同時実行 (ADO.NET)

トランザクションは、単一のコマンド、またはパッケージとして実行されるコマンドのグループで構成されます。 トランザクションを使用することで、複数の操作を 1 つの作業単位にまとめることができます。 トランザクションのあるポイントで障害が発生した場合は、トランザクションが開始される前の状態にすべての更新をロールバックできます。

データの一貫性を保証するために、トランザクションは ACID プロパティ (原始性、一貫性、分離性、および持続性) に準拠する必要があります。 Microsoft SQL Server など、ほとんどのリレーショナル データベース システムでは、クライアント アプリケーションが更新、挿入、または削除の操作を行うたびに、ロック、ログ、およびトランザクション管理の機能を提供し、トランザクションをサポートします。

メモメモ

複数のリソースがかかわるトランザクションで、ロックがあまりにも長く保持されると、同時実行数が少なくなる場合があります。そのため、トランザクションはできるだけ短くします。

トランザクションに、同じデータベースまたはサーバーの複数のテーブルが含まれている場合、一般的にストアド プロシージャ内の明示的トランザクションの方がパフォーマンスが向上します。 SQL Server のストアド プロシージャにトランザクションを作成するには、Transact-SQL ステートメントの BEGIN TRANSACTION、COMMIT TRANSACTION、および ROLLBACK TRANSACTION を使用します。 詳細については、SQL Server オンライン ブックを参照してください。

SQL Server と Oracle 間のトランザクションなど、種類の異なるリソース マネージャーがトランザクションに含まれる場合、分散トランザクションが必要になります。

このセクションの内容

参照

概念

DbProviderFactories (ADO.NET)

その他の技術情報

Transaction Fundamentals

データ ソースへの接続 (ADO.NET)

コマンドとパラメーター (ADO.NET)

DataAdapter と DataReader (ADO.NET)