Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-databas i Microsoft Fabric
SQL Server 2005 (9.x) introducerade en ny "snapshot"-isoleringsnivå som är avsedd att förbättra samtidigheten för onlinetransaktionsbehandling (OLTP)-applikationer. I tidigare versioner av SQL Server baserades samtidighet enbart på låsning, vilket kan orsaka blockerings- och deadlock-problem för vissa applikationer. Snapshot-isolering beror på förbättringar av radversionering och är avsedd att förbättra prestandan genom att undvika blockeringsscenarier mellan läsare och författare.
Transaktioner som startar under snapshot-isolering läser en databassnapshot från den tidpunkt då transaktionen startar. Keyset-, dynamiska och statiska servermarkörer, öppnade inom en snapshot-transaktionskontext, beter sig ungefär som statiska markörer som öppnades i serialiserbara transaktioner. Men när markörerna öppnas under snapshoten tas inga isoleringsnivålås. Detta faktum kan minska blockeringen på servern.
OLE DB-drivrutin för SQL Server
OLE DB-drivrutinen för SQL Server har förbättringar som utnyttjar snapshot-isoleringen som introducerades i SQL Server 2005 (9.x). Dessa förbättringar inkluderar förändringar i DBPROPSET_DATASOURCEINFO och DBPROPSET_SESSION egenskapsuppsättningar.
DBPROPSET_DATASOURCEINFO
Egenskapsuppsättningen DBPROPSET_DATASOURCEINFO har ändrats för att indikera att ögonblicksbildsisoleringsnivån stöds av tillägget av det DBPROPVAL_TI_SNAPSHOT-värde som används i DBPROP_SUPPORTEDTXNISOLEVELS-egenskapen. Detta nya värde indikerar att nivån för snapshot-isolering stöds oavsett om versionshantering har aktiverats i databasen eller inte. Följande tabell listar de DBPROP_SUPPORTEDTXNISOLEVELS värdena:
| Egenskaps-ID | Description |
|---|---|
| DBPROP_SUPPORTEDTXNISOLEVELS | Typ: VT_I4 R/W: Endast läs Beskrivning: En bitmask som specificerar de stödda transaktionsisoleringsnivåerna. En kombination av noll eller mer av följande: 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
Egenskapsuppsättningen DBPROPSET_SESSION har ändrats för att indikera att ögonblicksbildsisoleringsnivån stöds av tillägget av det DBPROPVAL_TI_SNAPSHOT värde som används i DBPROP_SESS_AUTOCOMMITISOLEVELS-egenskapen. Detta nya värde indikerar att nivån för snapshot-isolering stöds oavsett om versionshantering har aktiverats i databasen eller inte. Följande tabell listar de DBPROP_SESS_AUTOCOMMITISOLEVELS värdena:
| Egenskaps-ID | Description |
|---|---|
| DBPROP_SESS_AUTOCOMMITISOLEVELS | Typ: VT_I4 R/W: Endast läs Beskrivning: Specificerar en bitmask som anger transaktionsisoleringsnivån i autocommit-läge. De värden som kan sättas i denna bitmask är desamma som de som kan ställas in för DBPROP_SUPPORTEDTXNISOLEVELS. |
Anmärkning
Felen DB_S_ERRORSOCCURRED eller DB_E_ERRORSOCCURRED uppstår om DBPROPVAL_TI_SNAPSHOT är inställda vid användning av versioner av SQL Server tidigare än SQL Server 2005 (9.x).
För information om hur snapshot-isolering stöds i transaktioner, se Stöd för lokala transaktioner.
Se även
OLE DB-drivrutin för SQL Server-funktioner
Raduppsättningsegenskaper och beteenden