Udostępnij za pośrednictwem


Dopasowywanie poziomów izolacji transakcji

Właściwość izolacji jest jedną z czterech właściwości, niepodzielność, spójność, izolacji i trwałości (kwas) logicznej jednostki pracy należy wyświetlić w celu zakwalifikowania jako transakcja.Jest możliwość zabezpieczyć transakcji ze skutków aktualizacje wprowadzone przez innych jednoczesnych transakcji.Poziom izolacji jest rzeczywiście można dostosowywać dla każdej transakcji.

Aparat baz danych programu SQL Server Obsługuje poziomów izolacji transakcji zdefiniowane w SQL-92.Ustawianie poziomów izolacji transakcji umożliwia programistom handlu wyłączone zwiększone ryzyko integralność niektórych problemów z obsługę większej współbieżnego dostępu do danych.Poziomów izolacji transakcji są:

  • ODCZYT NIEPRZEKAZANY

  • ODCZYT PRZEKAZANY

  • ODCZYT POWTARZALNY

  • MIGAWKI

  • SERIALIZOWAĆ

Z wyjątkiem dwóch każdego poziom izolacji oferuje izolacji więcej niż poprzedni poziom przez bardziej restrykcyjne blokują dłuższe okresy.Wyjątkami są MIGAWKI i ODCZYTAĆ POPEŁNIONYCH po READ_COMMITTED_SNAPSHOT zestaw na.Te poziomy izolacji nie nabywają blokady współużytkowane na wiersze danych podczas operacji odczytu.Tylko blokad SCH-S są utrzymywane poziom tabela.

Poziomów izolacji transakcji zestaw za pomocą Transact-SQL lub za pośrednictwem bazy danych API.

  • Transact-SQL
    Transact-SQL skrypty za pomocą instrukcja Ustaw poziom izolacji transakcji.

  • ADO
    Zestaw aplikacje ADO IsolationLevel właściwość połączenia obiektu adXactReadUncommitted, adXactReadCommitted, adXactRepeatableRead lub adXactReadSerializable.

  • ADO.NET
    ADO.NET aplikacji przy użyciu System.Data.SqlClient nazw zarządzanych może wywołać SqlConnection.BeginTransaction metoda i zestaw IsolationLevel opcję Nieokreślony, Chaos, ReadUncommitted, parametr ReadCommitted, RepeatableRead, Serializable i migawki.

  • OLE DB
    Podczas uruchamiania aplikacji przy użyciu połączenia OLE DB transakcji, ITransactionLocal::StartTransaction z isoLevel zestaw ISOLATIONLEVEL_READUNCOMMITTED, ISOLATIONLEVEL_READCOMMITTED, ISOLATIONLEVEL_REPEATABLEREAD, ISOLATIONLEVEL_SNAPSHOT lub ISOLATIONLEVEL_SERIALIZABLE.

    Określając poziom izolacji transakcji tryb autozatwierdzania wynosi aplikacji OLE DB zestaw właściwość DBPROPSET_SESSION, DBPROP_SESS_AUTOCOMMITISOLEVELS, DBPROPVAL_TI_CHAOS, DBPROPVAL_TI_READUNCOMMITTED, DBPROPVAL_TI_BROWSE, DBPROPVAL_TI_CURSORSTABILITY, DBPROPVAL_TI_READCOMMITTED, DBPROPVAL_TI_REPEATABLEREAD, DBPROPVAL_TI_SERIALIZABLEDBPROPVAL_TI_ISOLATED, lub DBPROPVAL_TI_SNAPSHOT.

  • ODBC
    Wywołanie aplikacji ODBC SQLzestawConnectAttr z Attribute zestaw do SQL_ATTR_TXN_ISOLATION i ValuePtr zestaw SQL_TXN_READ_UNCOMMITTED, SQL_TXN_READ_COMMITTED, SQL_TXN_REPEATABLE_READ lub SQL_TXN_SERIALIZABLE.

    Dla transakcji migawka aplikacje wywołują SQLzestawConnectAttr z atrybutem zestaw SQL_COPT_SS_TXN_ISOLATION i ValuePtr zestaw do SQL_TXN_SS_SNAPSHOT.Transakcja migawka mogą być pobierane za pomocą SQL_COPT_SS_TXN_ISOLATION lub SQL_ATTR_TXN_ISOLATION.