转:应用程序连接到 SQLServer 是运行 Windows Server 2003 服务器上时出现错误信息
应用程序连接到 SQLServer 是运行 Windows Server 2003 服务器上时出现错误信息 " 通讯链路故障, " A 传输级错误 ", 常规网络错误:
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。如果您发现了错误并希望帮助我们提高机器翻译技术,请完成文章末尾的在线调查。
点击这里察看该文章的英文版: 942861 (http://support.microsoft.com/kb/942861/en-us/)
文章编号 : 942861
最后修改 : 2007年11月27日
修订 : 2.2
最后修改 : 2007年11月27日
修订 : 2.2
本页
症状
原因
解决方案
替代方法
状态
更多信息
如何使用网络跟踪来确定是否启用了 TCP Chimney Offload 功能
症状
考虑以下方案。 服务器运行 Windows Server 2003 和 MicrosoftSQLServer。 您有一个应用程序, 通过 TCP/IP 连接到 SQLServer。 可能会在此方案, 当应用程序连接到 SQLServer 间歇地收到下列错误消息之一:
错误 1
[ Microsoft ] [ ODBC SQL Server 驱动程序 ] [ DBNETLIB ] 常规网络错误。 请检查您的网络文档
错误 2
错误 [ 08S01 ] [ Microsoft ] [ SQL 本机客户 ] 通讯链接失败
错误 3
System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (: TCP 提供程序, 错误提供)): 一现有连接 0 - 被强制关闭由远程主机。
在 SQLServer 网络负载较高时也出现这些错误消息之一。 例如, 复制在 SQLServer 数据库时出现这些错误消息之一。 或者, 多用户应用程序访问 SQLServer 中数据库时可能出现这些错误消息之一。
回到顶端
原因
因为服务器上启用了 TCP Chimney Offload 功能发生此问题。 由 Windows Server 2003 可伸缩网络包启用 TCP Chimney Offload 功能。
通常, 网络适配器使用 Broadcom 5708 芯片时出现此问题。 例如, 下列网络适配器使用 Broadcom 5708 芯片: &8226; Broadcom NetXtreme II
&8226; Hewlett-Packard NC373i 多功能千兆服务器适配器
当网络适配器使用其他芯片组也可能出现此问题。
&8226; Hewlett-Packard NC373i 多功能千兆服务器适配器
当网络适配器使用其他芯片组也可能出现此问题。
回到顶端
解决方案
要解决此问题, 让硬件供应商如果硬件供应商有以下更新: &8226; 对服务器最新基本输入/输出系统 (BIOS) 更新
&8226; 为网络适配器最新固件更新
&8226; 最新的网络适配器驱动程序更新
如果硬件供应商有无更新, 请参阅 " 变通办法 " 部分要变通解决此问题。
&8226; 为网络适配器最新固件更新
&8226; 最新的网络适配器驱动程序更新
如果硬件供应商有无更新, 请参阅 " 变通办法 " 部分要变通解决此问题。
回到顶端
替代方法
要点 此部分, 方法或任务包含步骤告诉您如何修改注册表。 但是, 如果修改注册表错误可能发生严重问题。 因此, 确保仔细执行这些步骤。 用于添加保护之前, 修改备份注册表。 然后, 在发生问题时还原注册表。 有关如何备份和还原注册表, 请单击下列文章编号以查看 Microsoft 知识库中相应:
322756 (http://support.microsoft.com/kb/322756/) 如何备份和还原在 Windows 注册表
要变通解决此问题, 禁用 TCP Chimney Offload 功能。 要这样做, 请按照下列步骤操作: 1. 单击 开始 , 单击 运行 , 类型 cmd然后按 Enter。
2. 在命令提示符, 键入以下命令, 然后按 ENTER 键:
2. 在命令提示符, 键入以下命令, 然后按 ENTER 键:
Netsh int ip set chimney DISABLED
注意 您执行不需要运行此命令后重新启动服务器。
如果对 Windows Server 2003 性能降低禁用 TCP Chimney Offload 功能后, 请按照下列附加步骤操作: 1. 单击 开始 , 单击 运行 , 类型 Regedit然后单击 确定 。
2. 找到以下注册表子项:
如果对 Windows Server 2003 性能降低禁用 TCP Chimney Offload 功能后, 请按照下列附加步骤操作: 1. 单击 开始 , 单击 运行 , 类型 Regedit然后单击 确定 。
2. 找到以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3. 双击 EnableTCPChimney 注册表项。
4. 在 编辑 DWORD 值 对话框中, 键入 0 值数据 中, 框, 然后单击 确定 。
5. 双击 EnableRSS 注册表项。
6. 在 编辑 DWORD 值 对话框中, 键入 0 值数据 中, 框, 然后单击 确定 。
7. 双击 EnableTCPA 注册表项。
8. 在 编辑 DWORD 值 对话框中, 键入 0 值数据 中, 框, 然后单击 确定 。
9. 重新启动服务器。
回到顶端
状态
Microsoft 已确认这是 " 适用于 " 一节中列出 Microsoft 产品中存在问题。
回到顶端
更多信息
Windows Server 2003 可伸缩网络 Pack 提供以下功能: &8226; TCP chimney 卸载
&8226; 接收 - Side 缩放 (RSS)
&8226; 网络直接内存访问 (NetDMA)
当 Windows Server 2003 处理网络通信功能优化性能的 Windows Server 2003。
&8226; 接收 - Side 缩放 (RSS)
&8226; 网络直接内存访问 (NetDMA)
当 Windows Server 2003 处理网络通信功能优化性能的 Windows Server 2003。
以获取 Windows Server 2003 可伸缩网络 Pack, 您必须安装 Windows Server 2003 Service Pack 2 (SP 2)。 或, 必须安装 912222 Microsoft 知识库文章中所描述更新。 有关详细信息, 请单击下列文章编号以查看 Microsoft 知识库中相应:
912222 (http://support.microsoft.com/kb/912222/) Microsoft Windows Server 2003 可伸缩网络 Pack 发布
要启用 TCP Chimney Offload 功能, 服务器必须有网络适配器, 卸载技术支持。
回到顶端
如何使用网络跟踪来确定是否启用了 TCP Chimney Offload 功能
如果启用 TCP Chimney Offload 功能直接捕获服务器, 上网络跟踪时网络跟踪包含仅 TCP 三向 handshakes 和 UDP 通信。 由于 TCP Chimney Offload 功能使网络通信避开特定部分的 TCP/IP 堆栈网络跟踪不包含其他通信。 数据包捕获驱动程序位于特定部分的 TCP/IP 堆栈。
信息和文档中的解决方案表示当前视图 MicrosoftCorporation 对这些问题是出版物的日期。 解决方案可通过 Microsoft 或第三方提供程序。 没有明确 Microsoft 不建议任何第三方提供程序或第三方解决方案, 本文可能描述。 也可能是其他第三方提供程序或第三方解决方案, 本文未介绍。 此信息因为 Microsoft 必须顺应不断变化的市场条件, 应该无法由 Microsoft 解释将承诺。 Microsoft 无法保证或认可的任何信息或任何解决方案, 是由 Microsoft 或任何提到三方提供程序的准确性。
Microsoft 使任何担保和是否明示、 暗示, 或 statutory 排除所有表示、 担保和条件。 这些包括但并不局限于表示、 担保或标题、 非 infringement、 满意条件、, 适销性和针对特定用途, 与考虑到任何服务、 解决方案、 产品, 或任何其他材料或信息适用性的条件。 Microsoft 在没有事件会责任对于任何第三方解决方案, 本文提到。