Уровни изоляции (OLE DB)
Клиенты SQL Server могут управлять уровнями изоляции транзакций для соединения. Для управления уровнем изоляции транзакций пользователь поставщика OLE DB для собственного клиента SQL Server использует:
Свойство DBPROP_SESS_AUTOCOMMITISOLEVELS параметра DBPROPSET_SESSION для используемого по умолчанию режима автоматической фиксации поставщика OLE DB для собственного клиента SQL Server.
Уровень по умолчанию поставщика OLE DB и драйвер ODBC для собственного клиента SQL Server — DBPROPVAL_TI_READCOMMITTED.
Параметр isoLevel метода ITransactionLocal::StartTransaction для локальных транзакций с ручной фиксацией.
Параметр isoLevel метода ITransactionDispenser::BeginTransaction для распределенных транзакций с координацией MS DTC.
SQL Server обеспечивает доступ только для чтения на незафиксированном уровне изоляции. Все другие уровни ограничивают параллелизм применением блокировок к объектам SQL Server. Поскольку клиент требует более высоких уровней параллелизма, SQL Server применяет более строгие ограничения на параллельные обращения к данным. Чтобы обеспечить самый высокий уровень параллельного доступа к данным, поставщик OLE DB для собственного клиента SQL Server должен интеллектуально управлять запросами для конкретных уровней параллелизма.
Примечание |
---|
В SQL Server 2005 появился уровень изоляции моментального снимка. Дополнительные сведения см. в разделе Работа с изоляцией моментального снимка. |