MSSQL Server 2005 проблема с tempdb - PullRequest
1 голос
/ 24 апреля 2009

Итак, у меня есть странная база данных. Я наблюдаю за всей активностью на сервере, и база данных tempdb постоянно растет. Он вырос на 30 ГБ примерно за 45 минут. Я продолжаю проверять выделенное пространство в базе данных tempdb, и оно всегда составляет около 8 МБ. Я знаю, что ему не нужно все пространство, которое он выделяет, я наблюдал, как 1 транзакция произошла, когда база данных tempdb практически пуста и продолжает расти. Мне кажется, что двигатель вместо того, чтобы использовать ранее выделенное пространство, вместо этого выбирает использовать больше места на жестком диске. Я заметил, что наша база данных tempdb была чрезвычайно велика ранее и перезапустила SQL, что привело к уменьшению размера базы данных tempdb до хорошего размера, но с тех пор он снова растет, и постоянный перезапуск SQL не подходит, поскольку это производственная среда. У меня ограничено место на жестком диске на этом сервере, поэтому мне нужно сохранить временный размер базы данных в разумных пределах.

1 Ответ

2 голосов
/ 24 апреля 2009

Вы провели анализ запущенных скриптов? Вы использовали профилировщик для определения активности SQL?

Мои первые мысли - это сценарии, использующие временные таблицы (#table) и возможное объединение декартовых продуктов?

Как примечание, база данных tempdb воссоздается при запуске сервера SQL, поэтому она будет усечена при перезапуске службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...