为什么作为下游的WSUS更新服务器总有一直处于下载状态的文件
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:等线;
mso-ascii-font-family:等线;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:等线;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:等线;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
在上一篇关于WSUS无法更新Win10 1809之后,最近又遇到了下游服务器不正常的问题,而且在交流群中有群友问过这类问题……
问题现象:
在下游服务器上使用同步更新后会看到一个一直处于需要文件的更新。

图 SEQ 图 \*
ARABIC 1一直处于需要文件的更新
根据我的观察,最近几天一直都有,由于前一段时间修理了一下下游更新服务器,因大量文件需要同步,就一直等数据同步,可最近一段时间经常能看到这个,感觉到可能是哪里有问题,需要根据这个不正常的现象进行问题排查。
解决问题:
借助 HTTPNetworkSniffer嗅探工具,找找看HTTP请求中的不和谐反馈。
在点击立即同步后没多久,就在工具中看到了反馈404这个错误。

图 SEQ 图 \*
ARABIC 2无法获取上游服务器中的更新文件
通过猜测esd文件的性质,和图1 中文件大小,估摸着可能就是这个文件。
【ESD文件是用来升级操作系统,尤其是Win10 更新的一种加密压缩文件,因此等同于一个操作系统的WIM文件,所以体积比较大是正常的】
在上游更新服务器上搜索这个文件 “A7497EF7AFF694250BE967D2D10C6116A5D26523.esd” 无果,可以确定问题应该存在于上游服务器。
对于WSUS更新服务器的设计框架是有一个数据库(通常是系统内建的SQLServer或者WID)记录补丁信息,一个叫做WSUS更新服务目录的地方下载补丁本体在磁盘文件系统上。
在上游服务器上安装“SQL Server 2014 Management Studio”,使用“ \\.\pipe\MICROSOFT##WID\tsql\query ”作为服务器名称进行连接。

图 SEQ 图 \*
ARABIC 3通过SSMS数据库管理工具链接Win2012R2内置的数据库WID
新建一个SQL查询,在表 [dbo].[tbFile] 中查询缺失的文件信息。

图 SEQ 图 \*
ARABIC 4详细的查询语句展示

图 SEQ 图 \*
ARABIC 5查询所有表中列的全貌
增加一个筛选,我只要看到详细的URL下载链接即可(当多个缺失文件需要下载的时候,可将内容导出成表很有用)。

图 SEQ 图 \*
ARABIC 6这里需要的是下载URL的详细数据,使用Ctrl+C将他复制出来进行单独下载
下载该文件到Content\23\A7497EF7AFF694250BE967D2D10C6116A5D26523.esd 中,具体Content文件夹在哪里,可以在IIS管理器中获取到。

图 SEQ 图 \*
ARABIC 7使用IIS管理器的目录浏览功能进行本地文件系统中下载路径的确认
使用下载工具将缺失的“A7497EF7AFF694250BE967D2D10C6116A5D26523.esd”补充道对应目录

图 SEQ 图 \*
ARABIC 8复原缺失文件到指定文件夹内,修改日期和创建日期新鲜出炉
再次通过下游服务器更新同步。

图 SEQ 图 \*
ARABIC 9抓包工具中已经可以明确看到缺失文件成功被请求,并且在下载

图 SEQ 图 \*
ARABIC 10完成全部更新的下游服务器
问题总结:
1. 这个问题前段时间在微软一个内部交流群里有人问到过,但一直没有看到解决办法,无独有偶,在我们自己的环境中也遇到了,在没有现成解决方案的情况下,需要更多的知识储备来完成问题的处理
2. 使用合适的工具在问题处理上会很非常高效
3. 问题是如何发生的,目前还不确定,可能是因为清理历史过时更新引起,但是并不是偶然,或许以后可能还会出现
-=EOB=-
为什么作为下游的WSUS更新服务器总有一直处于下载状态的文件的更多相关文章
- WSUS更新服务器
http://windowsupdate.microsoft.com http://*.windowsupdate.microsoft.com https://*.windowsupdate.mi ...
- WSUS补丁服务器部署详细
利用WSUS部署更新程序 来源于网络转载 WSUS概述 为了让用户的windows系统与其他microsoft产品能够更安全,更稳定,因此microsoft会不定期在网站上推出最新的更新程序供用户下 ...
- linux上配置subversion服务器端安装配置并使用svn,windows本地检出,设置同步更新服务器的钩子
参考http://my.oschina.net/junn/blog/164041 http://songxj.blog.51cto.com/620981/396113 http://5iwww.blo ...
- Zookeeper动态更新服务器列表
-------------------------------------------------------------------------------------- [版权申明:本文系作者原创 ...
- Openfire更新服务器名称的方法
转自:http://blog.csdn.net/vikione/article/details/5996932 Openfire更新服务器名称的方法: 1.登陆openfire管理页面,在主页面下方选 ...
- zeromq学习记录(二)天气更新服务器使用ZMQ_SUB ZMQ_PUB
/************************************************************** 技术博客 http://www.cnblogs.com/itdef/ ...
- Xshell连接Linux服务器总掉线
Xshell连接linux服务器总掉线,解决办法如下: 1.登录服务器后 [root@test134 ~]# cd /etc/ssh/ [root@test134 ssh]# vim sshd_con ...
- EAV/ESS 8.x 自定义服务器正确方法+更新服务器列表
下面用64位的ESET Smart Security 8.0.319.1进行设置自定义更新服务器说明(注:修改方法32位和64位通用) 1. 让我们先看一下ESET Smart Security 8 ...
- 使用Python批量更新服务器文件【新手必学】
买了个Linux服务器,Centos系统,装了个宝塔搭建了10个网站,比如有时候要在某个文件上加点代码,就要依次去10个文件改动,虽然宝塔是可视化页面操作,不需要用命令,但是也麻烦,虽然还有git的h ...
随机推荐
- Android开发利器之stetho
文章同步自javaexception Stetho是什么? github上地址https://github.com/facebook/stetho stetho是facebook出品的一款开发调试工具 ...
- 读书笔记:深入理解java虚拟机(一)虚拟机的运行时的数据区域
最近在看深入了解java虚拟机第一版(周志明著),特此写读书笔记,整理其中重要的东西和自己的理解. ”java与c++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却 ...
- appium+python搭建自动化测试框架_Tools安装(一)
作者的配置环境和版本: win10 + python3.6 + Appium v1.4.16 1.下载node https://nodejs.org/en/download/, 下载node.j ...
- gitbook 入门教程之使用 gitbook-editor 编辑器开发电子书
亲测,目前已不再支持旧版 gitbook-editor 编辑器,而官网也没有相应的新版编辑器,如果哪位找到了新版编辑器,还望告知! 现在注册 gitbook 账号会默认重定向到 新版官网,而 旧版官网 ...
- (办公)springboot配置aop处理请求.
最近项目用到springboot,就是需要配置一些东西.比如用aop处理请求.方法前通知获取url,method,ip,类方法,参数,方法后通知,返回参数,而且还可以记录一下日志.下面是操作的代码. ...
- Java面试题:Java中怎么样实现多线程
方法一:继承 Thread 类,覆盖方法 run(),我们在创建的 Thread 类的子类中重写 run() ,加入线程所要执行的代码即可. 下面是一个例子: public class MyThrea ...
- springboot~环境搭建与Helloworld
转了,非转了 只是项目需要,从.net到java,以后可以学习java的思想把它应用到.net上来,让咱们的.net越来越强大,springbool是一个强大的框架,几乎有了你想要的所有功能模块,大叔 ...
- 【我们一起写框架】MVVM的WPF框架(三)—数据控件
这世上,没人能一次性写出完美无缺的框架:因为,任何一个框架都需要项目的淬炼,然后才能升华,趋近完美. 所以,框架是个反复修改的东西,最终形成的东西. 如果你学了一点技术,觉得自己可以写出框架了,觉得自 ...
- Linux文本三剑客超详细教程---grep、sed、awk
awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单 ...
- SpringMVC之Controller和参数绑定
在上一篇Spring+SpringMVC+Mybatis整合中说到了SSM的整合,并且在其中添加了一个简单的查询功能,目的只是将整个整合的流程进行一个梳理,下面在上一篇中工程的基础上再说一些关于Spr ...