如何在存储过程中处理TimeOut?

时间:2014-03-31 23:18:21

标签: sql sql-server sql-server-2012

我有一个存储过程,由于连接超时,传统的TRY / CATCH错误处理似乎不适用。

环境:MSSQL 2012,PHP 5.4,Win 2008 Server

存储过程调用与远程链接服务器的新连接,并尝试传递查询。超时发生在连接过程中(请参阅下面的代码块)而不是查询本身。此超时会对ADODB层生成异常错误,从而导致应用程序层(PHP)脚本失败。知道如何捕获这样的超时吗?

代码块:

SET @sql0 = 'SELECT @flag = 1 FROM ' + @server_name + '.[Database].[dbo].[sysobjects] 
AS sysobjcts WHERE [sysobjcts].[name] =''remote_table'' '

execute sp_executesql @sql0, N'@flag INT OUTPUT', @flag = @flag OUTPUT

   -- if table exist
   IF @flag = 1 BEGIN
    ...

以上是我在尝试查询之前检查远程服务器上是否存在所需表的简单方法(故障点)。我需要在远端链接服务器上解决它。

感谢您的任何建议。

0 个答案:

没有答案