Share via


分離レベル (OLE DB)

SQL Server クライアントは、接続のトランザクション分離レベルを制御できます。SQL Server Native Client OLE DB プロバイダのコンシューマは、次の方法を使用してトランザクション分離レベルを制御します。

  • SQL Server Native Client OLE DB プロバイダの既定の自動コミット モードには、DBPROPSET_SESSION プロパティの DBPROP_SESS_AUTOCOMMITISOLEVELS を使用します。

    SQL Server Native Client OLE DB プロバイダの既定のレベルは、DBPROPVAL_TI_READCOMMITTED です。

  • ローカルの手動コミット トランザクションには、ITransactionLocal::StartTransaction メソッドの isoLevel パラメータを使用します。

  • MS DTC でコーディネートされる分散トランザクションには、ITransactionDispenser::BeginTransaction メソッドの isoLevel パラメータを使用します。

SQL Server では、ダーティ リード分離レベルでの読み取り専用アクセスを許可します。他のすべてのレベルでは、SQL Server オブジェクトにロックをかけることによって同時実行を制限します。クライアントがより高度な同時実行レベルを要求すると、SQL Server はデータへの同時アクセスに対してより厳密な制限を適用します。データへの最高レベルの同時アクセスを維持するには、SQL Server Native Client OLE DB プロバイダのコンシューマで、特定の同時実行レベルの要求を適切に制御する必要があります。

注意

SQL Server 2005 ではスナップショット分離レベルが導入されました。詳細については、「スナップショット分離を使用した作業」を参照してください。