TSQL BEGIN TRYおよびBEGIN CATCHブロックパターンは、クライアント接続が失われたためにエラーを検出しません。紛失したクライアント接続を捕まえて処理するにはどうすればよいですか?SQL ServerのT-SQLのtry-catchブロックで失われたクライアント接続を処理するにはどうすればよいですか?
個々のトランザクションのループを処理中の処理を示すフラグを設定していますが、catchブロックはエラー時にそのフラグを再設定しますが、クライアント接続が失われた場合、catchブロックは実行されません...
擬似コードは:
BEGIN TRY
SET FlagToIndicateProcessing = 1
LOOP START
BEGIN TRANS
DO WORK
COMMIT TRANS
LOOP END
SetSomeValues
SET FlagToIndicateProcessing = 0
END TRY
BEGIN CATCH
SetSomeValues
SET FlagToIndicateProcessing = 0
END CATCH