Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytický platformový systém (PDW)
SQL databáze v Microsoft Fabric
SQL Server 2005 (9.x) představil novou úroveň izolace "snapshot", která má za cíl zlepšit souběžnost pro aplikace pro online transakční zpracování (OLTP). V dřívějších verzích SQL Serveru byla souběžnost založena výhradně na zamykání, což může způsobovat problémy s blokováním a deadlockem u některých aplikací. Izolace snímků závisí na vylepšeních verzování řádků a má za cíl zlepšit výkon tím, že se vyhne scénářům blokování čtenářem a pisatelem.
Transakce, které začínají v izolaci snapshotu, čtou snímk databáze v okamžiku, kdy transakce začne. Klíčové sady, dynamické a statické serverové kurzory, otevřené v kontextu snapshot transakce, se chovají podobně jako statické kurzory, které byly otevřeny v rámci serializovatelných transakcí. Když se však kurzory otevřou pod snapshotem, izolační zámky se neberou. Tento fakt může snížit blokování na serveru.
Ovladač OLE DB pro SQL Server
Ovladač OLE DB pro SQL Server obsahuje vylepšení, která využívají izolaci snapshotů zavedenou v SQL Server 2005 (9.x). Tato vylepšení zahrnují změny v sadách DBPROPSET_DATASOURCEINFO a DBPROPSET_SESSION.
DBPROPSET_DATASOURCEINFO
Sada DBPROPSET_DATASOURCEINFO vlastností byla změněna tak, aby označovala, že úroveň izolace snímku je podpořena přidáním hodnoty DBPROPVAL_TI_SNAPSHOT, která se používá v vlastnosti DBPROP_SUPPORTEDTXNISOLEVELS. Tato nová hodnota znamená, že úroveň izolace snímků je podporována bez ohledu na to, zda je v databázi povoleno verzování, nebo nikoliv. Následující tabulka uvádí hodnoty DBPROP_SUPPORTEDTXNISOLEVELS:
| ID vlastnosti | Description |
|---|---|
| DBPROP_SUPPORTEDTXNISOLEVELS | Typ: VT_I4 R/W: Pouze pro čtení Popis: Bitmaska specifikující podporované úrovně izolace transakcí. Kombinace nuly nebo více z následujících: 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
Sada DBPROPSET_SESSION vlastností byla změněna tak, aby označovala, že úroveň izolace snímku je podpořena přidáním hodnoty DBPROPVAL_TI_SNAPSHOT, která se používá v DBPROP_SESS_AUTOCOMMITISOLEVELS vlastnosti. Tato nová hodnota znamená, že úroveň izolace snímků je podporována bez ohledu na to, zda je v databázi povoleno verzování, nebo nikoliv. Následující tabulka uvádí hodnoty DBPROP_SESS_AUTOCOMMITISOLEVELS:
| ID vlastnosti | Description |
|---|---|
| DBPROP_SESS_AUTOCOMMITISOLEVELS | Typ: VT_I4 R/W: Pouze pro čtení Popis: Specifikuje bitovou masku, která indikuje úroveň izolace transakcí v režimu automatického potvrzení. Hodnoty, které lze nastavit v této bitové masce, jsou stejné jako hodnoty, které lze nastavit pro DBPROP_SUPPORTEDTXNISOLEVELS. |
Poznámka:
Chyby DB_S_ERRORSOCCURRED nebo DB_E_ERRORSOCCURRED nastanou, pokud je DBPROPVAL_TI_SNAPSHOT nastaveno při použití verzí SQL Server starších než SQL Server 2005 (9.x).
Pro informace o tom, jak je izolace snímků podporována v transakcích, viz Podpora lokálních transakcí.
Viz také
OLE DB Driver for SQL Server Features
Vlastnosti a chování řádků