传输级错误,如何设置 SQL Server 以避免这些错误?

传输级错误,如何设置 SQL Server 以避免这些错误?

我在生产中不断收到以下错误(数千个):

A transport-level error has occurred when sending the request to the server. 
(provider: TCP Provider, error: 0 - An existing connection was forcibly closed 
    by the remote host.)

我甚至有一个 1 G + 日志文件。

客户对应用程序的性能不满意。

我无法在开发中产生这个错误,所以我猜测这两个服务器的设置不同。

附加信息:

没有尝试使开发服务器和生产服务器变得相同。

生产:

System:
Microsoft Windows Server 2003
for Small Business Server
Service Pack 2


Computer:
Intel(R) Xeon(R) CPU
E5310 @1.60GHz
1.60 GHz, 3.00 GB of RAM
Physical Address Extension

我相信 SQL Server 是与 SBS 捆绑的 SQL 2005。

该应用程序是在用户桌面系统上运行的 WinForm 程序。

我无法进入开发服务器,但我确信它超过了生产统计数据。我知道 SQL Server 是 2005 标准版。

我还在本地 SQL 2005 Express 上运行了该程序,没有遇到任何问题(并附加了生产文件的副本)。

答案1

我唯一一次看到这个错误是当客户端和服务器强制断开连接时,要么是因为 SQL 服务重新启动,要么是因为网络链接中断。

我能想到的导致这成为生产中而不是开发中的常见问题的唯一原因(如果两个环境其他方面相同)可能是在生产中客户端(或它们使用的数据库访问库)保持连接打开的时间更长。

根据用户报告的性能问题,这可能是由于并发问题导致服务器过于繁忙,连接因此超时。在性能不佳时,您是否对服务器的性能指标(内存/交换使用情况、磁盘 IO、CPU 使用情况、SQL 服务器特定性能计数器等)进行过分析?

您能否提供更多有关设置的详细信息?客户端应用程序和数据库服务器是否都在同一台机器上?您使用的 SQL Server 版本/版本是什么?您使用的是什么访问方法?

相关内容