分離レベル (OLE DB)
SQL Server クライアントは、接続のトランザクション分離レベルを制御できます。SQL Native Client OLE DB プロバイダのコンシューマは、次の方法を使用してトランザクション分離レベルを制御します。
- SQL Native Client OLE DB プロバイダの既定の自動コミット モードには、DBPROPSET_SESSION プロパティの DBPROP_SESS_AUTOCOMMITISOLEVELS を使用します。
SQL Native Client OLE DB プロバイダの既定のレベルは、DBPROPVAL_TI_READCOMMITTED です。 - ローカルの手動コミット トランザクションには、ITransactionLocal::StartTransaction メソッドの isoLevel パラメータを使用します。
- MS DTC でコーディネートされる分散トランザクションには、ITransactionDispenser::BeginTransaction メソッドの isoLevel パラメータを使用します。
SQL Server では、ダーティ リード分離レベルでの読み取り専用アクセスを許可します。他のすべてのレベルでは、SQL Server オブジェクトにロックをかけることによって同時実行を制限します。クライアントがより高度な同時実行レベルを要求すると、SQL Server はデータへの同時アクセスに対してより厳密な制限を適用します。データへの最高レベルの同時アクセスを維持するには、SQL Native Client OLE DB プロバイダのコンシューマは、特定の同時実行レベルの要求を適切に制御する必要があります。
メモ : |
---|
SQL Server 2005 には新機能のスナップショット分離レベルが用意されています。詳細については、「スナップショット分離を使用した作業」を参照してください。 |