Очень большой размер tempdb

У меня есть весенний проект, когда я запускаю сервер, в каталоге sql server создается именованный файл "tempdb", размер этого файла слишком велик (достигает 8 ГБ). Мне нравится знать, почему этот файл создается? Есть ли способ уменьшить его размер? заранее спасибо

2 ответа

Запустить это

-- use the proper DB
USE tempdb;
GO
-- sync
CHECKPOINT; 
GO
-- drop buffers
DBCC DROPCLEANBUFFERS; 
DBCC FREEPROCCACHE;
DBCC FREESYSTEMCACHE('ALL');
DBCC FREESESSIONCACHE;
GO
--shrink db (file_name, size_in_MB)
DBCC SHRINKFILE (TEMPDEV, 1024);
GO

Либо вы всегда можете перезапустить всю базу данных (например, перезапуск службы), она также удалит базу данных tempdb.

Системная база данных tempdb - это глобальный ресурс, который доступен всем пользователям, подключенным к экземпляру SQL Server. База данных tempdb используется для хранения следующих объектов: пользовательских объектов, внутренних объектов и хранилищ версий. Он также используется для хранения рабочих таблиц, которые содержат промежуточные результаты, созданные во время обработки и сортировки запросов.

Вы можете использовать команду "ALTER DATABASE tempdb", чтобы ограничить / уменьшить ее размер.

Размер 8Gb является подозрительным, хотя размер tempdb виден в основном в мегабайтах. Возможно, вы захотите проверить любые уродливые запросы при запуске вашего сервера.

Другие вопросы по тегам