Desde una aplicación .NET 3.5 / C #, me gustaría capturar, SqlException
pero solo si es causado por interbloqueos en una instancia de SQL Server 2008.
El 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 código de error documentado para esta excepción.
Filtrar la excepción contra la presencia de la palabra clave interbloqueo en su mensaje parece una forma muy fea de lograr este comportamiento. ¿Alguien sabe la forma correcta de hacer esto?
select * from master.dbo.sysmessages where error=1205