Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform Systeem (PDW)
SQL-database in Microsoft Fabric
OLE DB-stuurprogramma downloaden
SQL Server 2005 (9.x) introduceerde een nieuw "snapshot" isolatieniveau dat bedoeld is om gelijktijdigheid voor online transactieverwerking (OLTP)-applicaties te verbeteren. In eerdere versies van SQL Server was gelijktijdigheid uitsluitend gebaseerd op locking, wat blokkerings- en deadlock-problemen kan veroorzaken voor sommige applicaties. Snapshot-isolatie is afhankelijk van verbeteringen in rijversiebeheer en is bedoeld om de prestaties te verbeteren door scenario's van blokkering tussen lezer en schrijver te vermijden.
Transacties die onder snapshot-isolatie beginnen, lezen een databasesnapshot op het moment dat de transactie begint. Keyset-, dynamische en statische servercursors, geopend binnen een snapshot-transactiecontext, gedragen zich vergelijkbaar met statische cursors die zijn geopend binnen serialiseerbare transacties. Wanneer de cursors echter onder de snapshot worden geopend, worden isolatie-niveauvergrendelingen niet genomen. Dit feit kan het blokkeren op de server verminderen.
OLE DB-stuurprogramma voor SQL Server
De OLE DB Driver voor SQL Server heeft verbeteringen die gebruikmaken van de snapshot-isolatie die is geïntroduceerd in SQL Server 2005 (9.x). Deze verbeteringen omvatten wijzigingen in de DBPROPSET_DATASOURCEINFO en DBPROPSET_SESSION property sets.
DBPROPSET_DATASOURCEINFO
De DBPROPSET_DATASOURCEINFO property set is aangepast om aan te geven dat het snapshot-isolatieniveau wordt ondersteund door de toevoeging van de DBPROPVAL_TI_SNAPSHOT waarde die in de DBPROP_SUPPORTEDTXNISOLEVELS property wordt gebruikt. Deze nieuwe waarde geeft aan dat het snapshot-isolatieniveau wordt ondersteund, ongeacht of versiebeheer in de database is ingeschakeld of niet. De volgende tabel geeft de DBPROP_SUPPORTEDTXNISOLEVELS waarden weer:
| Eigenschaps-id | Description |
|---|---|
| DBPROP_SUPPORTEDTXNISOLEVELS | Type: VT_I4 R/W: Alleen-lezen Beschrijving: Een bitmasker dat de ondersteunde transactieisolatieniveaus specificeert. Een combinatie van nul of meer van het volgende: 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
De set DBPROPSET_SESSION eigenschappen is gewijzigd om aan te geven dat het snapshot-isolatieniveau wordt ondersteund door de toevoeging van de DBPROPVAL_TI_SNAPSHOT waarde die in de DBPROP_SESS_AUTOCOMMITISOLEVELS-eigenschap wordt gebruikt. Deze nieuwe waarde geeft aan dat het snapshot-isolatieniveau wordt ondersteund, ongeacht of versiebeheer in de database is ingeschakeld of niet. De volgende tabel geeft de DBPROP_SESS_AUTOCOMMITISOLEVELS waarden weer:
| Eigenschaps-id | Description |
|---|---|
| DBPROP_SESS_AUTOCOMMITISOLEVELS | Type: VT_I4 R/W: Alleen-lezen Beschrijving: Specificeert een bitmask die het transactie-isolatieniveau aangeeft terwijl het in auto-commit-modus is. De waarden die in dit bitmasker kunnen worden ingesteld zijn dezelfde als de waarden die voor DBPROP_SUPPORTEDTXNISOLEVELS kunnen worden ingesteld. |
Opmerking
De fouten DB_S_ERRORSOCCURRED of DB_E_ERRORSOCCURRED zullen optreden als DBPROPVAL_TI_SNAPSHOT is ingesteld bij gebruik van versies van SQL Server vóór SQL Server 2005 (9.x).
Voor informatie over hoe snapshot-isolatie wordt ondersteund in transacties, zie Ondersteuning van Lokale Transacties.
Zie ook
OLE DB-driver voor SQL Server-functies
Eigenschappen en gedrag van rijsets