Очень большой размер 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 виден в основном в мегабайтах. Возможно, вы захотите проверить любые уродливые запросы при запуске вашего сервера.