Presentation is loading. Please wait.

Presentation is loading. Please wait.

Optimizing Procedural Code Understanding Logging, Recovery, Locking and Performance Presentation Addition Understanding/Optimizing VLFs Kimberly L. Tripp.

Similar presentations


Presentation on theme: "Optimizing Procedural Code Understanding Logging, Recovery, Locking and Performance Presentation Addition Understanding/Optimizing VLFs Kimberly L. Tripp."— Presentation transcript:

1 Optimizing Procedural Code Understanding Logging, Recovery, Locking and Performance Presentation Addition Understanding/Optimizing VLFs Kimberly L. Tripp President/Founder

2 Enterprise Database Administration and Deployment SIG  Pre-conference Workshop  Tuesday, September 28  8:30 am – 4:30 pm How the Transaction Log Works  On commit, activity is written to the log – active and likely sequential  Activity moves through log sequentially, fills and then goes to a second file or autogrows  Excessive autogrowth causes:  Slight pause on autogrow  Windows call to extend a file (may cause file fragmentation)  Adds “VLFs” to the file on each autogrowth Virtual Log File 4 Virtual Log File 5 Virtual Log File 1 Virtual Log File 2 Inactive Virtual Log File Min LSN (first open tran) Active Virtual Log File Inactive/Unused Log File Start Logical Log End Virtual Log File 3 Inactive Virtual Log File

3 Enterprise Database Administration and Deployment SIG  Pre-conference Workshop  Tuesday, September 28  8:30 am – 4:30 pm Transaction Log Optimization  Pre-allocate the log to the appropriate size  Minimize autogrowths  Log might NOT show 0 Percent Log Used after backup for example - the % Log Used will be ~6%  Disk Bound Systems might experience some performance degradation at log backup  Consider RAID 1+0 instead of RAID 1, RAID 5 generally is not recommended  Optimize existing file – minimize VLFs

4 Enterprise Database Administration and Deployment SIG  Pre-conference Workshop  Tuesday, September 28  8:30 am – 4:30 pm Minimize VLFs Excessive VLFs add overhead to log related activities: Excessive VLFs add overhead to log related activities:  Transaction logging  Log Backups – may cause problems in clearing the log as well…  Logreader (replication)  After Triggers (inserted/deleted), etc.) Should have less than 50 Should have less than 50 BPA (Best Practices Analyzer only generates warning if over 200) BPA (Best Practices Analyzer only generates warning if over 200)

5 Enterprise Database Administration and Deployment SIG  Pre-conference Workshop  Tuesday, September 28  8:30 am – 4:30 pm Minimize VLFs Execute DBCC LOGINFO Execute DBCC LOGINFO  Number of rows = Number of VLFs If excessive (> 50) then: If excessive (> 50) then:  Free up log space by first clearing space from the transaction log (using BACKUP LOG)  If your Database Recovery Model is FULL or Bulk_Logged then perform a regular transaction log backup – this should remove the inactive portion of the log  If your Database Recovery Model is Simple then clear the log

6 Enterprise Database Administration and Deployment SIG  Pre-conference Workshop  Tuesday, September 28  8:30 am – 4:30 pm Minimize VLFs Shrink the transaction log file Shrink the transaction log file DBCC SHRINKFILE(logfilename, TRUNCATEONLY) Alter the Database and modify log file size to a more appropriate size (not requiring all of the autogrowth) in ONE increment Alter the Database and modify log file size to a more appropriate size (not requiring all of the autogrowth) in ONE increment ALTER DATABASE dbname MODIFY FILE ( NAME = name, SIZE = new_size ) MODIFY FILE ( NAME = name, SIZE = new_size )


Download ppt "Optimizing Procedural Code Understanding Logging, Recovery, Locking and Performance Presentation Addition Understanding/Optimizing VLFs Kimberly L. Tripp."

Similar presentations


Ads by Google