среда, 26 февраля 2014 г.

Уменьшаем размер tempdb в MS SQL 2008+

0 коммент.
Периодически сталкиваюсь с проблемой нехватки места на SQL сервере. И как правило причиной этому служит база tempdb. Для её очистки, можно сделать задание для агента со следующим запросом:

use tempdb
GO

DBCC FREEPROCCACHE -- clean cache
DBCC DROPCLEANBUFFERS -- clean buffers
DBCC FREESYSTEMCACHE ('ALL') -- clean system cache
DBCC FREESESSIONCACHE -- clean session cache
DBCC SHRINKDATABASE(tempdb, 10); -- shrink tempdb
dbcc shrinkfile ('tempdev') -- shrink db file
dbcc shrinkfile ('templog') -- shrink log file
GO

-- report the new file sizes
SELECT name, size
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');
GO