April 14, 2014 at 10:57 am
Hi All,
I receive Error: 3967, Severity: 17, State: 1. Insufficient space in tempdb to hold row versions. We have 8 data files for temp db of 10210 GB size and given 10240 GB as max size.
As MS suggest to calculate the temp db file size and growth rate we need to monitor the perform counters Free Space in Tempdb (KB) and Version Store Size (KB) in the Transactions object.
basic formula: [Size of Version Store] = 2 * [Version store data generated per minute] * [Longest running time (minutes) of your transaction
My report disk utilizations says tempdb is full ? I thonk I need a shrink for the file .
Still I am confused in calculating the size , Please provide your input.
My perform counter gives me data as such
Free Space in tempdb (KB) 279938496
Version Generation rate (KB/s) 53681040
Version Cleanup rate (KB/s) 53422320
Version Store Size (KB) 258720
Version Store unit count 22
Version Store unit creation 774
Version Store unit truncation 752
Cheers,
Got an idea..share it !!
DBA_Vishal
April 14, 2014 at 2:40 pm
could be any number of things causing full tempdb: improper Cartesian products blowing up rowcounts, version store (possibly bloated due to suboptimal design/coding practices), massive sorts, massive hashes (often due to bad design/code and/or suboptimal indexing), bad statistics leading to poor query plans, transactions left open too long, etc, etc, etc
Best,
Kevin G. Boles
SQL Server Consultant
SQL MVP 2007-2012
TheSQLGuru on googles mail service
April 14, 2014 at 8:49 pm
Thanks Kevin.
Yes I agree I do see many transacations ( data loading runs for a long time with open_tran value euther 1 or 2)
I have asked the team to look into it.
But incase I need to plan the temp db size what should be value of the data files considering the perf counters output and MS formula.
Cheers,
Got an idea..share it !!
DBA_Vishal
April 14, 2014 at 9:17 pm
vkundar (4/14/2014)
Thanks Kevin.Yes I agree I do see many transacations ( data loading runs for a long time with open_tran value euther 1 or 2)
I have asked the team to look into it.
But incase I need to plan the temp db size what should be value of the data files considering the perf counters output and MS formula.
I honestly have no idea how big you should make it. My guess is that your environment doesn't allow for some standard formula to do sizing on tempdb. Just get larger space, make tempdb as big as you get (or size it reasonably large and then have autogrowth bump it up as needed). Just make sure to have a large autogrowth (except for the tlog) and enable instant file initialization if your security plan allows it. tlog growth WILL be zero-initialized regardless so I rarely make that larger than 1-2GB at clients unless it is on a very fast IO system.
Best,
Kevin G. Boles
SQL Server Consultant
SQL MVP 2007-2012
TheSQLGuru on googles mail service
April 14, 2014 at 9:59 pm
vkundar (4/14/2014)
We have 8 data files for temp db of 10210 GB size and given 10240 GB as max size.
Are you sure? 10240GB is 10.2 Tera Bytes! You have a 10.2 Tera Byte TempDB???
--Jeff Moden
Change is inevitable... Change for the better is not.
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply