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


Уровни изоляции (поставщик OLE DB собственного клиента)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

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

  • DBPROPSET_SESSION свойство DBPROP_SESS_AUTOCOMMITISOLEVELS для поставщика OLE DB собственного клиента SQL Server по умолчанию.

    Поставщик OLE DB собственного клиента 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.

См. также

Транзакции