我是一个pipe理系统的新手(因为我是一个开发人员),但最近,我在Windows服务器上执行基本的pipe理任务。 我们有一个自动化的过程来恢复数据库失败的消息:
There is insufficient free space on disk volume 'c:\' to create the database. The database requires 2218459136 additional free bytes, while only 1219432448 bytes are available.
当我看着C:驱动器 – >属性,它说可用空间是3GB。 为什么这种差异? (根据消息,数据库需要2.1 GB)
我想我得释放一些空间。 我检查了任何可以删除,没有find任何文件。 作为临时解决scheme,我应该在系统上进行碎片整理(是否会搞砸什么)?
另外,有没有办法找出哪些文件夹占用了大部分磁盘空间?
谢谢
编辑:另外,我读了关于磁盘清理工具。 那有风险吗?
不要扔更多的软件build议,但我使用windirstat( http://windirstat.info/ )来查找占用太多空间的文件。
如果你的系统驱动器下降到3GB,那么你的问题就比试图恢复数据库要严重得多。
另外,有没有办法找出哪些文件夹占用了大部分磁盘空间?
TreeSize Free是你方便的小帮手。
TreeSize Free截图http://www.jam-software.com/treesize_free/screenshots/EN/freeware_treesize_kl.gif
磁盘碎片整理不会搞砸任何东西,但可能也不会帮助磁盘空间。 清除临时目录,还要挖掘“临时”数据和下载和服务包的文件结构,并且 – 如果您的空间严重短缺,并且愿意在将来出现反讽 – 系统还原点。
(在你做任何事情之前,先把事情做好,如果你想删除一些你不认识的东西,先把它重新命名,看看有没有注意到它已经消失了)
但是,如果你剩下3GB,而你的数据库需要2GB,现在是考虑投资更多硬盘空间的好时机。
碎片整理不会损害您的系统或释放磁盘空间。
通常,当问题到达“清理硬盘”的地步时,意味着两件事之一:
我build议你使用Windows FIND工具来查找大于200mb的文件。 如果你没有find一个DVD iso的储藏,预算两个新的更大的驱动器。
我更喜欢TreePie – 一个很好的小工具,可以显示所有大文件夹的位置。
某些空间可能保留用于系统还原,这就是为什么您会看到物理可用空间量与安装数据库所允许的数量之间的差异。 您可以尝试减less预留空间的数量,但是如果您已经在空间上运行了较低的空间,则最好添加磁盘空间或删除不需要的东西。
既然您提到您正在pipe理Windows 服务器,并且这不是您的主要工作职能,则应该购买新磁盘,而不是在非开发任务上花费不必要的时间。
与此同时,当您在等待新磁盘到达时,释放磁盘空间的最佳方法是卸载任何不必要的应用程序或服务。 其余的磁盘空间可能用于存储各种服务(如电子邮件)或其他用户数据的数据存储。
碎片整理你的硬盘将不会有效,只有很less的空间,它不会释放任何空间。 内置的Windows碎片整理工具推荐至less有15%的硬盘空闲。 其他磁盘碎片整理工具可以使用较less的可用空间,但它们仍然无法解决您的磁盘空间不足的问题。
尝试清空浏览器caching并缩小浏览器caching大小。 使用宽带,不再需要caching网页。 在某些浏览器中,它被设置为硬盘的百分比 – 硬盘越大,在浏览器caching上浪费的空间越多。 您可以input一个固定的金额(比如50或100 MB),并调整要匹配的百分比。
清空你的临时文件夹。 CCleaner可以提供帮助(也可以清除浏览器caching,但不会让您调整浏览器caching大小)。
最后,使用WinDirStat查找可以从硬盘上删除的大文件或目录。 如果用户的目录在服务器上,那么在删除其他人的东西之前,应该仔细检查是否需要大文件。 如有必要,您可以设置文件系统配额。
可能的原因是卸载Windows Update的文件。 在这里看看进一步的讨论和“如何”的东西。
我还看到一个情况是,失控和不受监控的Backup Exec日志logging咀嚼了C盘上大约19GB(!!!)的空间。
另外,如果交换文件位于C盘上,现在可能是考虑将其移动到另一个分区的好时机。
关于大小差异,我猜测还原作业临时将文件放在某个位置,因此您可能需要的可用空间大约是要恢复的大小的两倍。 根据您使用的技术,这个暂存文件夹的位置可能是可configuration的。
如果您的系统是vista / 2008/7,则可以运行COMPCLN以删除卸载Microsoft修补程序的文件。
COMPCLN.exe是Windows的一部分 – 你不需要安装任何东西。
这听起来像尝试执行还原时磁盘空间不足的SQL Server错误消息。
为什么这种差异? 你能粘贴代码或描述你的自动化过程吗? 我怀疑发生的是,即使你有3GB的磁盘空间免费和数据库只需要2GB,您的脚本是复制SQL Server .BAK文件在本地,然后尝试还原,之前删除.BAK文件&移动您的可用磁盘空间备份到3GB。
我应该在系统上进行碎片整理吗? 正如其他人所解释的,碎片整理不会为获得更多的磁盘空间而做任何事情,而只是重新安排文件在磁盘上的分配方式,以便为您提供更好的顺序读取性能。
我不打算告诉你为什么把你的数据库放在C盘上是一个坏主意,但是假设你明白了风险。 假设你已经耗尽了所有你可以在服务器级别节省磁盘空间的function,下面是一些你可以用来解决你的问题的SQL Server的东西。 还要明白,一些select有自己的风险,你也应该调查/考虑之前使用它们: