我遇到了与下面的问题类似的问题,我想我找到了一个解决方案,但我只需要知道连接超时的 sql 系统变量我尝试过@@LOCK_TIMEOUT 但这只有在您设置超时时才有效。但是,当 sql server 连接超时或存储此信息的变量时不应该有默认超时,以防 dba 增加或减少连接超时,而不仅仅是会话。因为如果超时没有在会话级别设置,而是在服务器级别设置,那么@@LOCK_TIMEOUT 仍然是-1。
类似的问题: 在存储过程中处理超时 我打算做的事情如下:
@start = SYSDATETIME() exec stored_proc 跨服务器调用 sp @end = SYSDATETIME() IF @end-@start = @LOCK_TIMEOUT1 (@Lock_timeout1 将是从该 SP 调用的 sp 的超时) BEGIN Raiserror('Timeout sp 在跨服务器调用中发生', 16, 1) END