2009-09-03 6 views
7

В системе SQL Server 2000 у меня есть файл templog.ldf, который, кажется, растет без ограничений! Но когда я проверяю, в tempdb (используя DBCC OPENTRAN) никогда не было открытой транзакции, и я никогда не использую явные транзакции в tempdb.SQL Server Tempdb LOG файл растет

Тем не менее, я использую временные таблицы в моих хранимых процедурах. И кто знает, какие объекты доступа к данным ASP.NET могут делать за кулисами? База данных поддерживает веб-сайт ASP.NET.

Независимо от того, файл tempdb.mdf - файл данных tempdb - находится на разумном уровне 700 МБ. Файл templog.ldf может вырасти до 30 ГБ в день! Наверное, больше, если бы у меня не было свободного места на диске. Я явно не отказываюсь от #tables в хранимых процедурах, но опять же, файл mdf никогда не кажется очень большим.

Почему журнал транзакций растет, когда нет непогашенных транзакций? Сохраняет ли журнал транзакций пространство? Кроме того, DUMP TRAN WITH NO_LOG не сжимает файл и не выполняет CHECKPOINT, событие через trunc. log on chkpt включен на tempdb. Остановка SQL Server очищает tempdb (и, возможно, DBCC SHRINKFILE, но я этого не делал).

Спасибо за помощь!

+0

Вы можете попробовать задать тот же вопрос на http://serverfault.com/ Я уверен, что вы получите лучшие ответы там ... –

ответ

2

прочитать эти:

Усечение обратить внимание журнала транзакций
к: Вход усечение всегда происходит на контрольно-пропускном пункте в базе данных TempDb. http://technet.microsoft.com/en-us/library/aa174538(SQL.80).aspx

Оптимизация производительности Tempdb
http://technet.microsoft.com/en-us/library/aa178421(SQL.80).aspx

Мой templog.ldf огромен (45gb), что если что-нибудь делать? https://serverfault.com/questions/61479/my-templog-ldf-is-huge-45gb-what-if-anything-should-i-do

Смежные вопросы