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?
- Is the DB being closed automatically? (eg desktop editions, don't use them myself though)
- Firewall issues?
SQL实例是否正在重新启动?
数据库是否自动关闭? (例如桌面版,不要自己使用它们)
#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?
- Is the DB being closed automatically? (eg desktop editions, don't use them myself though)
- Firewall issues?
SQL实例是否正在重新启动?
数据库是否自动关闭? (例如桌面版,不要自己使用它们)
#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是否尝试访问链接服务器?