我已经find了解决scheme,但我试图了解为什么它失败了,为什么我的解决scheme解决了这个问题。
我们有一个应用程序使用Web服务器和SQL服务器之间的表单身份validation,Web服务器运行服务器2008年,SQL服务器运行2008年R2和SQL服务器2008年。
在8月份,sql server被修补了.net 3.5.1,web服务器没有受到影响,表单身份validation继续工作。
1周前,由于硬件故障,我们将Web服务器虚拟化到我们的vSphere服务器上。 之后,表单身份validation失败,事件代码为4005,详细信息代码为50201,提供的故障单无效(在sql server上)。 事实上,sql服务器开始产生Schannel错误,并开始每天3-4次蓝屏。
在这一点上,我第一次触摸SQL服务器(有史以来),错误是非特定的,任何引用我可以find他们必须做任何区域警报(我们不运行),或内存错误。 所以我申请了Service Pack 1,它停止了蓝屏,但没有修复表单authentication。
在这一点上,我们有一个解决办法,所以当我们完成另一个项目的时候,我们把它放在了后面,我昨天晚上能够回到它上面。
首先是在sql server的webconfig文件中调整一些代码,什么也没有,接下来是重新生成并更换机器的密钥,仍然没有改变。 更新DNS服务器,不要更改。
最后,我经过并安装了所有的Windows更新,两次重启,(通过RDP安装了一个网卡驱动程序失败,并没有我的服务器房间密钥,这很有趣)。
之后,表单身份validation再次运行。 和SQL服务器停止产生尽可能多的错误,自那时以来我得到了两个schannel错误。
简而言之,当Web服务器被克隆到虚拟机上时,表单身份validation开始失败,导致SQL Server出现蓝屏? 并形成authentication失败。 只能通过补丁到SQL服务器来修复?(我希望我一次一个补丁服务器,所以我可以确定在哪个服务器上修复了哪个补丁)。
我的问题是为什么它失败,为什么补丁修复它? 我讨厌修理一些东西,却没有充分理解为什么和如何。
这似乎是一个已知的问题,我只是试图了解一些更好的根本原因。
是类似的,但是我没有运行一个webfarm