SQL数据库连接超时时间已到

问题:

1:System.InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

2:在向服务器发送请求时发生传输级错误。 (provider: TCP Provider, error: 0 - 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。)

3:已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时。) ---> System.ComponentModel.Win32Exception (0x80004005): 等待的操作过时。

4:在从服务器接收结果时发生传输级错误。 (provider: TCP Provider, error: 0 - 指定的网络名不再可用。) ---> System.ComponentModel.Win32Exception (0x80004005): 指定的网络名不再可用。

5:连接超时时间已到。在登录后阶段超过了此超时时间。连接可能在等待服务器完成登录过程并响应时超时;或者在尝试创建多个活动连接时超时。 尝试连接到此服务器时花费的持续时间是 - [Pre-Login] initialization=2;handshake=5;[Login] initialization=0;authentication=0;[Post-Login] complete=14025; ---> System.ComponentModel.Win32Exception (0x80004005): 等待的操作过时。

解决方法:

设置最大超时时间

server=192.168.0.1;User ID=sa;Password=123;database=;Min Pool Size=0;Max Pool Size=30000;Pooling=true;

 

一般这种出现于高并发请求的情况,以下代码可以查看SQL的连接数,这个可以作为监测的一种手段。

 SELECT [program_name] ,[spid],* FROM [sys].[sysprocesses] WHERE [spid]>50  and [program_name]='.Net SqlClient Data Provider' and dbid= db_id('') 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值