De um aplicativo .NET 3.5 / C #, gostaria de capturar, SqlException
mas somente se for causado por deadlocks em uma instância do SQL Server 2008.
A mensagem de erro típica é Transaction (Process ID 58) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Ainda assim, não parece ser um código de erro documentado para essa exceção.
Filtrar exceção contra a presença da palavra-chave de deadlock em sua mensagem parece uma maneira muito desagradável de atingir esse comportamento. Alguém conhece a maneira certa de fazer isso?
select * from master.dbo.sysmessages where error=1205