Bonjour,
Je vous sollicite pour comprendre un problème dans l'un de nos trop vieux programmes entre 2 serveurs SQL. J'ai le code suivant sur le SERVEUR A dans une procédure stockée lancée depuis un agent SQL:
Lorsque le serveur B kill la procédure à cause d'un verrou,cela déclenche le rollbakc sur le serveur A. Pourtant, lorsque la procédure est de nouveau lancée depuis le serveur A, j'ai le message d'erreur suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 BEGIN TRY EXEC [SERVEURB].BDDB.dbo.ProcedureMetier END TRY BEGIN CATCH IF XACT_STATE() <> 0 BEGIN ROLLBACK TRANSACTION END END CATCH
"Erreur n° 3981, L'opération de transaction ne peut pas être exécutée parce que des demandes sont en attente dans cette transaction."
Je ne comprends pas pourquoi après le rollback @@Transaction n'est pas propre.
Merci d'avance.
Partager