我有一个问题,我从链接服务器调用存储过程并且它超时。但是我没有很好的方法来捕捉这个。虽然它很少发生,但我想知道是否有任何方法可以捕捉到这个特定的警告:
链接服务器“serverName”的 OLE DB 提供程序“SQLNCLI10”返回消息“查询超时已过期”。
不幸的是,try/catch 没有捕获警告,MS 确实有一个未解决的问题,这应该是一个错误:http ://connect.microsoft.com/SQLServer/feedback/details/337043/no-error-raised-when-远程程序超时
我不想增加 timeout 属性,我知道我可以这样做:
Declare @ret int
select @ret = 4417
Exec @ret=Server.DB.dbo.RemoteSP
如果之后@ret 为空,则意味着调用失败,但它并没有告诉我确切的原因是什么。无论如何,基本上可以捕捉到这个警告吗?远程过程调用错误处理的最佳实践是什么?