Уровни изоляции (OLE DB)

Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)

Скачать драйвер OLE DB

Клиенты SQL Server могут управлять уровнями изоляции транзакций для соединения. Для управления уровнем изоляции транзакций пользователю OLE DB Driver for SQL Server предоставлены следующие возможности.

  • Свойство DBPROP_SESS_AUTOCOMMITISOLEVELS объекта DBPROPSET_SESSION для используемого по умолчанию режима автоматической фиксации драйвера OLE DB для SQL Server.

    По умолчанию для уровня изоляции в OLE DB Driver for 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 (9.x) появился уровень изоляции моментального снимка. Дополнительные сведения см. в разделе Working with Snapshot Isolation.

См. также:

Транзакции