Резко увеличивается размер tempdb

dimakz
Дата: 25.01.2013 07:41:17
Резко увеличивается размер tempdb, 200-300Гб, при перезагрузки сервера, размер становится 100Мб. Происходит переполнение диска. Из-за чего происходит увеличение.
Как исправить чтоб не было такого скачка?

Вот лог:
Date  24.01.2013 21:17:28
Log  SQL Server (Current - 25.01.2013 0:31:00)
Source  spid93
Message
Insufficient space in tempdb to hold row versions.  Need to shrink the version store to free up some space in tempdb. Transaction (id=6462692 xsn=310521 spid=99 elapsed_time=986) has been marked as victim and it will be rolled back if it accesses the version store. If the problem persists, the likely cause is improperly sized tempdb or long running transactions. Please refer to BOL on how to configure tempdb for versioning.

Date  24.01.2013 21:17:29
Log  SQL Server (Current - 25.01.2013 0:31:00)
Source  spid93
Message
Could not allocate space for object 'dbo.SORT temporary run storage:  140739757670400' in database 'tempdb' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
tpg
Дата: 25.01.2013 07:52:49
Ну, дык, в мессагах же всё написано.
dimakz
Дата: 25.01.2013 08:00:51
а что именно?
dimakz
Дата: 25.01.2013 10:24:35
подскажите
WarAnt
Дата: 25.01.2013 10:59:04
dimakz,

автор
Как исправить чтоб не было такого скачка?

переписать код более оптимально с точки зрения использования tempdb
dimakz
Дата: 25.01.2013 11:00:24
а как вычеслить какой запрос использует темпдб
Алексей Куренков
Дата: 25.01.2013 11:32:23
dimakz,

Profiler пользуйте...
Вообще для начала посмотрите сколько реально занято в темпдб места сколько не используется... типа

use tempdb;
exec sp_spaceused;

Может просто можно шринкануть файлы, хотя... если у вас забивается темпдб при работе... То именно что забивает его - трассой можно определить. Далее посмотрите используется ли у вас SNAPSHOT ISOLATION LEVEL или READ_COMMITTED_SNAPSHOT, если начали использовать эти уровни изоляций и пользователей к SQL большое количество то tempdb у вас будет расти по определению...
.
Дата: 25.01.2013 11:41:57
Алексей Куренков
используется ли у вас SNAPSHOT ISOLATION LEVEL или READ_COMMITTED_SNAPSHOT


так про это и сообщается, собственно:
Insufficient space in tempdb to hold row versions
dimakz
Дата: 25.01.2013 11:45:44
database_name	database_size	unallocated space
tempdb	191900.00 MB	189490.63 MB


reserved	data	index_size	unused
9600 KB	8664 KB	784 KB	152 KB
Алексей Куренков
Дата: 25.01.2013 11:56:32
dimakz,

при версионности у Вас и будет рост темпдб... увеличивайте размер дискового пространства для этой базы или уходите от версионности... тут другого не придумать.