我一直在尝试回收 W2K3 中 45+GB 的缓存更新。我手动审核并拒绝了数百个更新和包,每次运行服务器清理向导时,它都会删除 14MB。
我也尝试过 WSUSutil,但似乎没有任何作用。
我如何释放更多空间?
答案1
即使在拒绝更新并运行清理向导后,仍有几个明显和不太明显的原因导致内容文件夹过大:
- 下游服务器。如果您有下游服务器,则无论上游服务器上的批准状态如何,您都无法删除更新,除非每个下游服务器上的每个客户端都将其显示为不需要。
- 快速安装文件。如果您已启用这些文件(在“更新文件和语言”下),则内容文件夹的大小将显著增加。
- 其他语言。如果您选择的更新不仅限于英语,那么您会看到特定语言的更新文件有所增加。
- Forefront 客户端更新 - 这些更新非常重要。非常重要。
顺便问一下,您有多少更新?对于我们来说,大约有 1500 个已批准的更新,WsusContent 文件夹只有大约 16 GB。SP 和服务文件夹又有 2.5 GB。
答案2
WSUS 清理向导超时的标准问题,未删除任何不必要的更新。SBS2K8。WSUS 3。6000 多个不必要的更新等待批准。庞大的数据库。无响应的 SQL 服务器。很多人都有这个问题。
驱动器会在后台定期进行碎片整理。不会为了修复这个问题而关闭服务器并停机。
尝试了 technet.microsoft.com/en-us/library/dd939795(WS.10).aspx 中的重新索引脚本(不要复制命令行,它里面有奇怪的字符,只需手动输入即可),它完成了,但没有任何改善。
发现这个:wsus.codeplex.com/releases/view/17612 并且它也超时了。
发现这个评论:
对于任何因过时更新而出现超时的人。我有一个解决方案!使用服务器名称:“ \.\pipe\MSSQL$MICROSOFT##SSEE\sql\query ”连接到 SQL 管理工作室。连接后,手动运行“ exec spGetObsoleteUpdatesToCleanup ”。这将返回过时 ID 的列表。对每个 ID 运行“ exec spDeleteUpdate @localUpdateID=000000 ”,其中 000000 是 ID。我发现列表中的第一个 ID 花了整整 37 分钟才删除,然后我可以像往常一样通过 GUI 运行清理。
jjdacl 于 4 月 23 日下午 12:55 发布
发现你确实需要做:
USE SUSDB
GO
exec spGetObsoleteUpdatesToCleanup
首先,为了连接,我必须点击“选项”,然后从中间的下拉菜单中选择命名管道。
第一次删除耗时 6 分钟,内存使用量飙升至近 15GB,而物理内存为 16GB。但 WSUS 控制台(更新服务)仍显示相同数量的旧更新。失败?我不这么认为:我正在再次运行清理向导,到目前为止它没有超时……它已经运行了一整夜,并取得了一些进展;进度条移动了大约 5%。所以……我的看法是,当数据太多时,SQL 服务器会导致此问题,因为索引设计不当(而不是因为索引需要重新索引)导致第一个查询超时,从而导致清理失败。一旦您完成第一次删除并将所有内容加载到内存中,清理工具就可以保持足够长的连接时间来删除每个不需要的更新。下一步是找到一个命令行方法,例如: http://wsus.codeplex.com/releases/view/17612 并将其放入任务计划程序中,就像微软一开始就应该做的那样,以防止情况失控。