Professional Documents
Culture Documents
www.microsoft.com/slovenija/ntk2003
Transakcije in
zaklepanje SQL
Server in .NET
Dejan Sarka,
SQL Server MVP
in
Avtenta.Si
Agenda
Uvod
Upravljanje s transakcijami
T-SQL
ADO.NET
COM+
Napredne reitve
Povezovanje konekcij
Nespotovanje doloenih zaklepanj v SQL 2000
Lastna zaklepanja
Zakljuek
Atomicity
Consistecy
Durability
Isolation
Nedeljiva celota
Lost Update
Read X
(10)
T1
Time
T2
Compute X+=15
(25)
X=10
Read X
(10)
X=20
Compute X+=10
(20)
Write X
Write X
X=25
X=25
Dirty Read
T1
Time
T2
Read X
(10)
X=10
Compute
X+=15
(25) Write X
X=25
Rollback
X=10
Read X
(25)
Use value of
X that was never
committed to DB
Non-Repeatable Read
T1
Time
T2
Read X
(10)
X=10
Read X
(10)
Compute X+=15
Commit
(25)
Write X
X=25
Read X
(25)
Phantom problem
Jones,6
T1
Smith,4
Time
Brewer,7
Insert
Jones,6
Smith,4
Brewer,7
T2
Select count (*)
where rank > 3
(2)
(3)
Dovoljeni problemi
Read uncommitted
Dirty read,
Non-repeatable read,
Phantoms
Read committed
Non-repeatable read,
Phantoms
Repeatable read
Phantoms
Serializable
---
Opis
RID
Row identifier
Key
Page
Extent
Group of 8 pages
Table
Entire table
Database
Entire database
Tipi zaklepanj
Osnovni
Shared
Exclusive
Posebni
Intent
Update
Schema
Bulk update
Transakcije v T-SQL
SET XACT_ABORT ON
SET TRANSACTION ISOLATION LEVEL
SAVE TRANSACTION SaveName, ROLLBACK
TRANSACTION SaveName
Dovoljeno je gnezdenje transakcij
Velja zadnji Commit, prvi Rollback
Transakcije z ADO.NET
Sn.exe orodje
Izboljano v COM+ 1.5
Povezane konekcije
Uporabljamo:
Posebnosti zaklepanja v
SQL 2000
Aplikacijska zaklepanja
Resurs poimenujemo
Nain je lahko Shared, Exclusive...
Owner je Transaction ali Session
Doloimo lahko e lock timeout vrednost
Zakljuek
Ve znanja je v: