Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Important
Klient natywny SQL Servera (SNAC) nie jest dostarczany z:
- SQL Server 2022 (16.x) i nowsze wersje
- SQL Server Management Studio 19 i nowsze wersje
Program SQL Server Native Client (SQLNCLI lub SQLNCLI11) oraz starszy dostawca microsoft OLE DB dla programu SQL Server (SQLOLEDB) nie są zalecane w przypadku tworzenia nowych aplikacji.
W przypadku nowych projektów użyj jednego z następujących sterowników:
- Sterownik ODBC firmy Microsoft dla programu SQL Server
- Sterownik OLE DB firmy Microsoft dla programu SQL Server
W przypadku programu SQLNCLI dostarczanego jako składnik aparatu bazy danych programu SQL Server (wersje 2012–2019), proszę sprawdzić wyjątek cyklu wsparcia .
SQL Server 2005 (9.x) wprowadził nowy poziom izolacji "migawki", mający na celu zwiększenie współbieżności dla aplikacji przetwarzania transakcji online (OLTP). We wcześniejszych wersjach SQL Server współbieg opierał się wyłącznie na blokowaniu, co może powodować problemy z blokowaniem i martwym blokowaniem w niektórych aplikacjach. Izolacja migawek zależy od ulepszeń wersjonowania wierszy i ma na celu poprawę wydajności poprzez unikanie scenariuszy blokowania przez czytelnika-autora.
Transakcje rozpoczynające się w izolacji migawki odczytują migawkę bazy danych w momencie rozpoczęcia transakcji. Jednym z efektów tego jest to, że kursory serwera zestawu kluczy, dynamicznego i statycznego, po otwarciu w kontekście transakcji migawkowej, zachowują się podobnie jak statyczne kursory otwierane w transakcjach serializowalnych. Jednak gdy kursory są otwierane w snapshot, nie są zabierane blokady na poziomie izolacji, co może zmniejszyć blokowanie na serwerze.
Dostawca OLE DB programu SQL Server Native Client
Dostawca natywnego klienta OLE DB SQL Server posiada ulepszenia wykorzystujące izolację snapshot wprowadzoną w SQL Server 2005 (9.x). Te ulepszenia obejmują zmiany w zestawach DBPROPSET_DATASOURCEINFO i DBPROPSET_SESSION.
DBPROPSET_DATASOURCEINFO
Zbiór właściwości DBPROPSET_DATASOURCEINFO został zmieniony, aby wskazywać, że poziom izolacji migawki jest wspierany przez dodanie wartości DBPROPVAL_TI_SNAPSHOT używanej w DBPROP_SUPPORTEDTXNISOLEVELS właściwości. Ta nowa wartość oznacza, że poziom izolacji migawki jest obsługiwany niezależnie od tego, czy wersjonowanie zostało włączone w bazie danych. Poniżej znajduje się lista wartości DBPROP_SUPPORTEDTXNISOLEVELS:
| Identyfikator nieruchomości | Description |
|---|---|
| DBPROP_SUPPORTEDTXNISOLEVELS | Typ: VT_I4 R/W: Tylko do czytania Opis: Bitmaska określająca obsługiwane poziomy izolacji transakcji. Kombinacja zero lub więcej z następujących elementów: 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
Zbiór właściwości DBPROPSET_SESSION został zmieniony, aby wskazywać, że poziom izolacji migawki jest wspierany przez dodanie wartości DBPROPVAL_TI_SNAPSHOT używanej w DBPROP_SESS_AUTOCOMMITISOLEVELS właściwości. Ta nowa wartość oznacza, że poziom izolacji migawki jest obsługiwany niezależnie od tego, czy wersjonowanie zostało włączone w bazie danych. Poniżej znajduje się lista wartości DBPROP_SESS_AUTOCOMMITISOLEVELS:
| Identyfikator nieruchomości | Description |
|---|---|
| DBPROP_SESS_AUTOCOMMITISOLEVELS | Typ: VT_I4 R/W: Tylko do czytania Opis: Określa bitmaskę wskazującą poziom izolacji transakcji w trybie automatycznego zatwierdzania. Wartości, które można ustawić w tej masce bitowej, są takie same jak te, które można ustawić dla DBPROP_SUPPORTEDTXNISOLEVELS. |
Uwaga / Notatka
Błędy DB_S_ERRORSOCCURRED lub DB_E_ERRORSOCCURRED wystąpią, jeśli DBPROPVAL_TI_SNAPSHOT jest ustawione przy użyciu wersji SQL Server starszych niż SQL Server 2005 (9.x).
Aby uzyskać informacje o tym, jak izolacja migawek jest wspierana w transakcjach, zobacz Wsparcie Transakcji Lokalnych.
SQL Server Natywny Klienciski ODBC Driver
Sterownik ODBC dla natywnego klienta SQL Server zapewnia wsparcie dla izolacji migawek poprzez ulepszenia funkcji SQLSetConnectAttr i SQLGetInfo.
SQLSetConnectAttr
Funkcja SQLSetConnectAttr obsługuje teraz użycie atrybutu SQL_COPT_SS_TXN_ISOLATION. Ustawienie SQL_COPT_SS_TXN_ISOLATION na SQL_TXN_SS_SNAPSHOT oznacza, że transakcja zostanie przeprowadzona na poziomie izolacji snapshot.
SQLGetInfo
Funkcja SQLGetInfo obsługuje teraz wartość SQL_TXN_SS_SNAPSHOT dodaną do typu SQL_TXN_ISOLATION_OPTION informacji.
Aby uzyskać informacje o tym, jak izolacja snapshotów jest obsługiwana w transakcjach, zobacz Poziom Izolacji Transakcji kursora.