Udostępnij za pośrednictwem


Praca z izolacji migawka

SQL Server 2005 wprowadzono nowy poziom izolacji "migawkę", który ma na celu zwiększenie współbieżność dla transakcji online (OLTP) wniosków.We wcześniejszych wersjach SQL Server, współbieżność został wyłącznie na podstawie blokowania, które mogą być przyczyną problemów z blokowania i deadlocking dla niektórych aplikacji. migawka izolacji zależy od tego rozszerzenia do przechowywania wersji wiersza i jest przeznaczony do poprawy wydajności poprzez unikanie blokowania scenariuszach moduł zapisujący czytnika.

Transakcje, uruchamiane w obszarze izolacji migawki odczytać migawka bazy danych jako czas rozpoczęcia transakcji.Jeden wynik, to jest ten zestaw kluczy, dynamiczne i serwera statyczne kursory, podczas otwierania w obrębie kontekstu transakcji migawka, zachowują się podobny statyczne kursory otwarte w obrębie transakcji możliwy do serializacji.Jednak po otwarciu kursorów w obszarze migawka blokad poziom izolacji nie są brane pod, która pozwala zmniejszyć blokowanie na serwerze.

Aby uzyskać więcej informacji na temat SQL Serverprzez obsługę dla migawka izolacji, zobacz Understanding Row Versioning-Based Isolation Levels.

Dostawca OLE DB programu SQL Server Native Client

The SQL Server Native klient OLE DB dostawca has enhancements that take advantage of the migawka isolation introduced in SQL Server 2005. Te rozszerzenia obejmują zmiany DBPROPSET_DATASOURCEINFO i DBPROPSET_SESSION zestawy właściwość.

DBPROPSET_DATASOURCEINFO

Wskazuje, że poziom izolacji migawka jest obsługiwana przez dodanie wartości DBPROPVAL_TI_SNAPSHOT, który jest używany we właściwość DBPROP_SUPPORTEDTXNISOLEVELS został zmieniony zestaw właściwość DBPROPSET_DATASOURCEINFO.Nowa wartość ta wskazuje, że poziom izolacji migawka jest obsługiwane, niezależnie od tego, czy włączono przechowywanie wersji w bazie danych.Poniżej przedstawiono listę wartości DBPROP_SUPPORTEDTXNISOLEVELS:

Identyfikator właściwość

Description

DBPROP_SUPPORTEDTXNISOLEVELS

Typ: VT_I4

R/W: Czytać tylko

Opis: Maska bitów określająca poziomów izolacji transakcji obsługiwanych. Kombinacja zero lub więcej z następujących czynności:

  • DBPROPVAL_TI_CHAOS

  • DBPROPVAL_TI_READUNCOMMITTED

  • DBPROPVAL_TI_BROWSE

  • DBPROPVAL_TI_CURSORSTABILITY

  • DBPROPVAL_TI_READCOMMITTED

  • DBPROPVAL_TI_REPEATABLEREAD

  • DBPROPVAL_TI_SERIALIZABLE

  • DBPROPVAL_TI_ISOLATED

  • DBPROPVAL_TI_SNAPSHOT

DBPROPSET_SESSION

Wskazuje, że poziom izolacji migawka jest obsługiwana przez dodanie wartości DBPROPVAL_TI_SNAPSHOT, który jest używany we właściwość DBPROP_SESS_AUTOCOMMITISOLEVELS został zmieniony zestaw właściwość DBPROPSET_SESSION.Nowa wartość ta wskazuje, że poziom izolacji migawka jest obsługiwane, niezależnie od tego, czy włączono przechowywanie wersji w bazie danych.Poniżej przedstawiono listę wartości DBPROP_SESS_AUTOCOMMITISOLEVELS:

Identyfikator właściwość

Description

DBPROP_SESS_AUTOCOMMITISOLEVELS

Typ: VT_I4

R/W: Czytać tylko

Opis: Określa maskę bitową, która wskazuje poziom izolacji transakcji w trybie automatycznego zatwierdzanie. Wartości, które mogą być ustawione w tym maski bitowej są takie same jak te, które mogą być ustawiane dla DBPROP_SUPPORTEDTXNISOLEVELS.

Uwaga

Błędy DB_S_ERRORSOCCURRED lub DB_E_ERRORSOCCURRED będzie występować, jeżeli DBPROPVAL_TI_SNAPSHOT jest ustawiona, jeśli z wersji SQL Server starsze niż SQL Server 2005.

Aby uzyskać informacje dotyczące sposobu migawka izolacji jest obsługiwany w transakcjach zobacz Wspieranie transakcje lokalne.

Program SQL Server macierzysty sterownik ODBC klient

The SQL Server Native klient ODBC driver provides support for migawka isolation though enhancements made to the SQLSetConnectAttr and SQLGetInfo functions.

SQLSetConnectAttr

The SQLSetConnectAttr funkcja now supports the use of the SQL_COPT_SS_TXN_ISOLATION atrybut.Ustawianie SQL_COPT_SS_TXN_ISOLATION do SQL_TXN_SS_SNAPSHOT wskazuje, że transakcja będzie miała miejsce, w obszarze poziom izolacji migawka.

SQLGetInfo

The SQLGetInfo funkcja now supports the SQL_TXN_SS_SNAPSHOT value that has been added to the SQL_TXN_ISOLATION_OPTION info type.

Aby uzyskać informacje dotyczące sposobu migawka izolacji jest obsługiwany w transakcjach zobacz Poziom izolacji transakcji kursor.