When crash happens, the recovery of uncommitted and committed transaction is done by using transaction log.
Transaction Log Architecture
There are basically two types of transaction log architectures:
Physical: In physical architecture virtual log files are maintained for different transactions. Virtual log files are maintained for easy management.
Logical: In logical architecture LSN is maintained.
Recovery always starts from last uncommitted transaction or checkpoint whichever is less.
Last uncommitted transaction is known as MIN LSN
Checkpoint
Checkpoint occurs in two conditions:
1. Automatic : It will occur automatically in either of the two following cases(whichever is lower)
2. When an activity happens in database : It will occur if any of the following case happens
Transaction Log Architecture
There are basically two types of transaction log architectures:
Physical: In physical architecture virtual log files are maintained for different transactions. Virtual log files are maintained for easy management.
Logical: In logical architecture LSN is maintained.
Recovery always starts from last uncommitted transaction or checkpoint whichever is less.
Last uncommitted transaction is known as MIN LSN
Checkpoint
Checkpoint occurs in two conditions:
1. Automatic : It will occur automatically in either of the two following cases(whichever is lower)
- Recovery Interval
- 70% log is full
2. When an activity happens in database : It will occur if any of the following case happens
- When we write explicitly checkpoint in query window
- When new db is created
- When backup is created
- When SQL server shuts down
The recovery is not measured in terms of time, it is measured in terms of no. of transactions between 2 checkpoints.
Virtual Log File
Virtual log file has two portions:
- Active : Starting from MIN LSN to last written record
- Inactive : That portion which does not has uncommitted transaction e.g. before active area
Size of the databases are defined for:
- Initial e.g. 64 MB
- Max e.g. 2 GB
- Autogrowth: which can be done in 2 ways: By % or by Size
Properties of transaction log
- Forward- It moves forward until it gets full. This property is used in Simple recovery model
- Circular- When forward gets full, it moves to the first virtual log to make it circular
Advantage of Circular transaction log
Size does not have to be increased for transaction log. The virtual log file which is having all committed transactions will be truncated.
dbcc loginfo: It tells the information about database transaction log.
In every transaction, the no. of statements will have different LSN No.
Comments
Post a Comment