Share via


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

更新 : November 2007

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

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

777e5ebh.alert_note(ja-jp,VS.90).gifメモ :

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

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

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

このセクションの内容

参照

概念

トランザクションの基礎

DbProviderFactories (ADO.NET)

その他の技術情報

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

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

DataAdapter と DataReader (ADO.NET)