/* 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更新服务器总有一直处于下载状态的文件的更多相关文章

  1. WSUS更新服务器

    http://windowsupdate.microsoft.com http://*.windowsupdate.microsoft.com   https://*.windowsupdate.mi ...

  2. WSUS补丁服务器部署详细

    利用WSUS部署更新程序 来源于网络转载  WSUS概述 为了让用户的windows系统与其他microsoft产品能够更安全,更稳定,因此microsoft会不定期在网站上推出最新的更新程序供用户下 ...

  3. linux上配置subversion服务器端安装配置并使用svn,windows本地检出,设置同步更新服务器的钩子

    参考http://my.oschina.net/junn/blog/164041 http://songxj.blog.51cto.com/620981/396113 http://5iwww.blo ...

  4. Zookeeper动态更新服务器列表

    -------------------------------------------------------------------------------------- [版权申明:本文系作者原创 ...

  5. Openfire更新服务器名称的方法

    转自:http://blog.csdn.net/vikione/article/details/5996932 Openfire更新服务器名称的方法: 1.登陆openfire管理页面,在主页面下方选 ...

  6. zeromq学习记录(二)天气更新服务器使用ZMQ_SUB ZMQ_PUB

    /************************************************************** 技术博客 http://www.cnblogs.com/itdef/   ...

  7. Xshell连接Linux服务器总掉线

    Xshell连接linux服务器总掉线,解决办法如下: 1.登录服务器后 [root@test134 ~]# cd /etc/ssh/ [root@test134 ssh]# vim sshd_con ...

  8. EAV/ESS 8.x 自定义服务器正确方法+更新服务器列表

    下面用64位的ESET Smart Security 8.0.319.1进行设置自定义更新服务器说明(注:修改方法32位和64位通用) 1.  让我们先看一下ESET Smart Security 8 ...

  9. 使用Python批量更新服务器文件【新手必学】

    买了个Linux服务器,Centos系统,装了个宝塔搭建了10个网站,比如有时候要在某个文件上加点代码,就要依次去10个文件改动,虽然宝塔是可视化页面操作,不需要用命令,但是也麻烦,虽然还有git的h ...

随机推荐

  1. SQL 存储过程中事务回滚

    在事务语句最前面加上 set xact_abort on GO SET QUOTED_IDENTIFIER OFF GO ALTER PROCEDURE [dbo].[test] @a int, @b ...

  2. 浅析C语言中的整形类型

    在C语言中,可以把 字符型.短整形.整形.长整形都看作是整形,同属于整形家族这个大类型. 这些类型的大小,默认是否有符号等一些知识点较零散,较容易混淆,所以特地整理如下.   一 类型存储字节长度说明 ...

  3. Windows迁移打印机与打印队列

    移动打印机时,打印机当前所在服务器为源服务器,打印机将迁移到的服务器为目的服务器. 步骤: 1.为源服务器创建打印机配置文件 printbrm -b -s Servername -f SaveFile ...

  4. pc蛋蛋app开发定制

    如今的pc蛋蛋app开发和pc蛋蛋软件开发互联网已经不再是一个新兴行业,对打仗的团队也要求更加正规化.对于产品技术运营市场等角色来说,如果每个人都能有比较全面的视野,那这个产业将是一个全新的趋势,单一 ...

  5. MySQL学习(四)Join 等开发常用的操作 --- 2019年2月

    1.查数据太多不会把内存用光 InnoDB 的数据是保存在主键索引上,然后索引树分割保存在数据页上,数据页存在内存中/磁盘.change buffer 就是先把修改操作记录,然后读数据的时候,内存没有 ...

  6. 从壹开始前后端分离[.netCore 不定期 ] 36 ║解决JWT自定义中间件授权过期问题

    缘起 哈喽,老张的不定期更新的日常又开始了,在咱们的前后端分离的.net core 框架中,虽然已经实现了权限验证<框架之五 || Swagger的使用 3.3 JWT权限验证[修改]>, ...

  7. 使用xUnit为.net core程序进行单元测试(1)

    导读 为什么要编写自动化测试程序(Automated Tests)? 可以频繁的进行测试 可以在任何时间进行测试,也可以按计划定时进行,例如:可以在半夜进行自动测试. 肯定比人工测试要快. 可以更快速 ...

  8. Docker 导出&加载镜像

    文章首发自个人网站:https://www.exception.site/docker/docker-save-load-image 本文中,您将学习 Docker 如何导出&加载镜像.当我们 ...

  9. Vue 进阶之路(一)

    vue 3.x 马上就要问世了,显然尤大大是不想让我们好好活了,但是转念一想,比你优秀的人都还在努力,那我们努力还有什么用,开个玩笑而已,本人对于 vue 的接触时间不长,对其也没有深入地去研究源码, ...

  10. python:socket网络编程

    Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket, 又称为“套接字”. 模块 import socket 创建套接字 socket.socket( ...