消息64,级别20,状态0,行0 SQL Server错误

时间:2022-11-29 22:54:08

I am running a sproc on an SQL Server 2005 server which is resulting in the following error:

我在SQL Server 2005服务器上运行sproc导致以下错误:

Msg 64, Level 20, State 0, Line 0 A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The specified network name is no longer available.)

消息64,级别20,状态0,行0从服务器接收结果时发生传输级错误。 (提供程序:TCP提供程序,错误:0 - 指定的网络名称不再可用。)

Once the error occurs I loose my connection to the server, but able to reconnect.
There is nothing in the Event logs. The database is still functional and running its website fine.
EDIT: This occurs every time I run this sproc, or it's called by an application.

一旦发生错误,我将失去与服务器的连接,但能够重新连接。事件日志中没有任何内容。该数据库仍然可以运行,并且运行网站很好。编辑:每次运行此sproc时都会发生这种情况,或者应用程序调用它。

Any suggestions on what may be causing this error?

有关可能导致此错误的原因的任何建议?

2 个解决方案

#1


1  

This happens when the DB server is made unavailable with a client connection open.

当客户端连接打开时,DB服务器不可用时会发生这种情况。

To reproduce: If you have a query open in SSMS, restart the SQL instance, run the query again to get this error.

要重现:如果在SSMS中打开了查询,请重新启动SQL实例,再次运行查询以获取此错误。

Thoughts:

  • Is the SQL instance being restarted?
  • SQL实例是否正在重新启动?

  • Is the DB being closed automatically? (eg desktop editions, don't use them myself though)
  • 数据库是否自动关闭? (例如桌面版,不要自己使用它们)

  • Firewall issues?

#2


0  

Some thoughts:

This may be caused when you have connection pooling enabled, and for whatever reason, one connection in the pool loses its connection to the DB (due to a network hickup, or any other reason).

当您启用了连接池时,可能会导致这种情况,并且无论出于何种原因,池中的一个连接都会丢失与DB的连接(由于网络连接或任何其他原因)。

Is this happening everytime you call this sproc?

每次打电话给这个sproc时都会发生这种情况吗?

Does that sproc attempt to access a linked server?

该sproc是否尝试访问链接服务器?

#1


1  

This happens when the DB server is made unavailable with a client connection open.

当客户端连接打开时,DB服务器不可用时会发生这种情况。

To reproduce: If you have a query open in SSMS, restart the SQL instance, run the query again to get this error.

要重现:如果在SSMS中打开了查询,请重新启动SQL实例,再次运行查询以获取此错误。

Thoughts:

  • Is the SQL instance being restarted?
  • SQL实例是否正在重新启动?

  • Is the DB being closed automatically? (eg desktop editions, don't use them myself though)
  • 数据库是否自动关闭? (例如桌面版,不要自己使用它们)

  • Firewall issues?

#2


0  

Some thoughts:

This may be caused when you have connection pooling enabled, and for whatever reason, one connection in the pool loses its connection to the DB (due to a network hickup, or any other reason).

当您启用了连接池时,可能会导致这种情况,并且无论出于何种原因,池中的一个连接都会丢失与DB的连接(由于网络连接或任何其他原因)。

Is this happening everytime you call this sproc?

每次打电话给这个sproc时都会发生这种情况吗?

Does that sproc attempt to access a linked server?

该sproc是否尝试访问链接服务器?