1. tempdb 文件过大,可以通过重新启动SQL Server 系统,tempdb数据文件及Log会释放空间到初始大小(比如8M).
2. tempdb 在系统默认的C盘,自动扩展过大可能导致系统盘C盘空间问题,需要迁移到数据盘 。
Use master
Alter database tempdb modify file (NAME='TEMPDEV',FILENAME='D:\SQLDATA\TEMPDB.MDF'); GO
Alter database tempdb modify file
(NAME='TEMPLOG',FILENAME='D:\SQLDATA\TEMPLOG.LDF'); GO
上面命令会将Tempdb库对应的数据文件及Log文件指向新的物理路径下的新文件 。 但是需要重新启动SQL Server后才会生效 。
3. 如何在线缩小tempdb , 最好在非生产时间或周末进行 。
use tempdb
dbcc shrinkfile('tempdev')
use tempdb
dbcc shrinkfile('templog')