公司服务器安装的是Windows Server 2008 R2系统,C盘有250G的空间,运行了很长时间,昨天发现上C盘剩余空间只有1G左右了。需要把C盘清理一下以释放空间。

    经过一顿分析,发现Windows文件夹占用了将近200G的空间,"pagefile.sys"这个磁盘映射文件有30多G,所以大头就是Windows文件夹,后继而发现“C:/Windows/Logs”和"C:Windows/Temp"这两个文件夹占用了大量空间。在一顿研究发现问题不大后手动删了几个文件。释放了几十G的空间。

    后来发现有个叫CCleaner的免费软件,一顿操作猛如虎,在操作之前浏览了待删除的文件,操作之后释放了大概160多G的空间,这个软件基本上帮忙清空了“C:/Windows/Logs”和"C:Windows/Temp"文件夹。顿时觉得天空变得晴朗。

问题产生


    这台服务器上安装了SQLServer,以及SQLServer的管理工具SQLServer Management Studio。今天要上来操作数据库,打开管理工具的时候懵逼了,一顿报错。

    非常诡异,忽略之后,倒是能连上数据库,但是里面查看数据库表什么的也全部报错,导致完全没办法操作。

    左边展开,也是报这个错,完全无法选择对象,进行操作。

解决方法


    这个看起来只是SQLServer Management Studio毁坏了,但是SQLServer服务器应该还是正常的,在一顿搜索之后,无解。想着能否修复管理工具,但发现我这个版本的当时安装的时候数据库跟管理工具是在一个安装包里的,担心修复的时候怕把数据库也弄坏了。于是放弃,想到其实我可以再安装一个Management Studio,我个人服务器上就是安装了多个Management Studio的。所以吭哧吭哧去下载了一个SQL Server Management Studio (SSMS) 18.9.2,这个是最新版的哦,600多MB哦,里面还包括Azure Data Studio哦。安装过程中,也不能闲着,继续找解决方案。

    后来发现,这个问题,网上很多人遇到过。大部分的解决方法说是在以下两个地方,新建一个名为 2 的空文件夹,我也没搞明白为什么要建一个纯数字的名为2的文件夹,难道是Magic Number?

  • C:\Users\<username>\AppData\Local\Temp
  • C:\Windows\Temp

    我按照以上操作,在上面两个文件夹下面新建名为2的空文件夹,不起任何作用。

    然后,在MSDN上看到有网友回复,说他新建名为2的文件夹也不起作用,但是新建名为4的文件夹是可以的,抱着死马当活马医的心态,我新建了一个名为4的空文件夹,嘿,你猜怎么着,竟然可以了。然后取消了最新版本SQLServer Management Studio的安装。

    我只能说,这谁能想得到,难道这位网友是从1~10都试过了吗?真是佩服,也真是佩服巨硬的代码写的是真厉害~

 

参考: