Поделиться через


Уровни изоляции (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 появился уровень изоляции моментального снимка. Дополнительные сведения см. в разделе Работа с изоляцией моментального снимка.