SSMS运行查询是否生成临时文件占用C盘?如何安全删除?
SSMS及SQL Express C盘占用问题解答
1. 运行时是否会生成临时文件占用C盘
是,两者都会产生临时文件占用C盘空间,主要来源包括SSMS的运行日志、查询缓存、崩溃恢复文件,以及SQL Express实例的临时数据库、运行日志、默认存储的备份文件。
2. 临时文件路径及安全删除方法
所有清理操作均不会修改你已保存的服务器连接、自定义查询模板、SSMS界面配置等个性化设置,按以下步骤操作即可:
- SSMS本地临时缓存、运行日志
路径:C:\Users\<你的系统用户名>\AppData\Local\Microsoft\SQL Server Management Studio\<版本号文件夹>
操作:完全关闭所有SSMS窗口后,直接删除该路径下的Temp、Log文件夹内的全部内容即可。 - SSMS未保存查询自动恢复文件
路径:C:\Users\<你的系统用户名>\AppData\Roaming\Microsoft\SQL Server Management Studio\<版本号文件夹>\AutoRecover Files
操作:确认没有需要恢复的未保存查询后,关闭SSMS即可直接删除该目录下所有文件。 - SQL Express临时数据库(tempdb,通常是占空间最大的来源)
首先可运行以下SQL查询确认tempdb的存储位置:
操作:不需要手动删除文件,只需要重启SQL Express服务(可以在Windows服务列表里找到SELECT name, physical_name AS CurrentLocation FROM sys.master_files WHERE database_id = DB_ID(N'tempdb');SQL Server (SQLEXPRESS)右键重启,或者在SSMS里右键服务器实例选择重启),tempdb会自动重建,旧文件占用的空间会全部释放。如果后续不想让tempdb占C盘,可以修改tempdb的存储路径到其他分区,该操作不会影响现有业务数据。 - SQL Express运行日志、安装日志
路径:C:\Program Files\Microsoft SQL Server\MSSQL<版本号>.SQLEXPRESS\MSSQL\Log
操作:停止SQL Express服务后,可删除该目录下7天以上的旧ERRORLOG、日志文件,不会影响实例运行。
3. 后续避免C盘占满的优化建议
- 修改SQL Express的默认备份路径到非系统盘:在SSMS中右键服务器实例-选择「属性」-进入「数据库设置」页,修改「备份」项的默认存储位置即可。
- 处理大结果集查询时,不要长期保留SSMS的查询结果页,大结果集默认会暂存到C盘临时目录。
- 关闭SSMS的遥测数据上报:进入「工具-选项-常规-隐私设置」,关闭发送使用情况数据的选项,减少不必要的日志生成。
内容的提问来源于stack exchange,提问作者Jimski
相关产品推荐
相关产品推荐

