[问题现象]
客户反馈数据库服务器C盘空间严重不足,只有2GB可用空间。
[问题分析]
通过工程师分析检查,空间占用最多的文件是临时文件而且无法直接删除。临时文件格式是prf###.tmp
※ 此文件格式曾经遇到过,我有一些印象的。不过为指导工程师排查,我给他说了如下方法。授人以渔比较重要
通过微软小工具 Process Explorer寻找锁定文件的程序,然后关闭锁定程序以释放空间。从下图发现,prf###.tmp临时文件是SQL SERVER PROFILER性能跟踪创建的。
当SQL Server Profiler在临时目录中使用空间时,此空间使用可能会导致临时目录快速增长。要避免文件增长问题,可以通过更改TEMP环境变量的值将temp目录放在非系统驱动器的驱动器上。
将SQL SERVER PROFILER性能跟踪程序关闭后,临时文件就释放了。
[问题解决]
MSSQL Profiler跟踪功能运用需要注意如下两点:
1.启动时,尽可能设置临时文件路径。
CMD环境
SET TMP = E:\TMP
Profiler.exe
※ 此方法可以临时将临时文件路径切换到指定路径,而不影响默认系统路径。我推荐用此方法的。
2.运用完毕,必须要尽快关闭而不要只启动监控而不打扫战场。
[问题参考]
https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008/ms174203(v=sql.100)?redirectedfrom=MSDN