リンクサーバーからストアドプロシージャを呼び出してタイムアウトするという問題があります。しかし、私にはこれを捕まえる良い方法がありません。まれにしか発生しませんが、この特定の警告をキャッチする方法があるかどうか疑問に思っています。
リンクサーバー"serverName"のOLEDBプロバイダー"SQLNCLI10"は、メッセージ"Querytimeoutexpired"を返しました。
残念ながら、警告はtry / catchによってキャッチされず、MSには、これがエラーであるはずであるという未解決の問題があります:http: //connect.microsoft.com/SQLServer/feedback/details/337043/no-error-raised-when- a-リモートプロシージャタイムアウト
タイムアウトプロパティを増やしたくありません。次のようなことができることはわかっています。
Declare @ret int
select @ret = 4417
Exec @ret=Server.DB.dbo.RemoteSP
後で@retがnullの場合は、呼び出しが失敗したことを意味しますが、原因が正確に何であるかはわかりません。とにかくその警告を本質的にキャッチすることはありますか?リモートプロシージャコールのエラー処理のベストプラクティスは何ですか?