Desde una aplicación .NET 3.5/C#, me gustaría capturar SqlException
pero solo si es causada por los interbloqueos en una instancia de SQL Server 2008.Cómo atrapar SqlException causado por interbloqueo?
mensaje de error típico es Transaction (Process ID 58) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Sin embargo, no parece ser un documentado error code para esta excepción.
La excepción de filtrado en contra de la presencia de la palabra clave deadlock en su mensaje parece una forma muy fea de lograr este comportamiento. ¿Alguien sabe la forma correcta de hacer esto?
I (finalmente) encontré la documentación del código de error: http://msdn.microsoft.com/en-us/library/aa337376.aspx. También puede encontrar esto a través del mismo servidor SQL: 'select * from master.dbo.sysmessages donde error = 1205' –