Von einer .NET 3.5/C# -App möchte ich SqlException
aber nur fangen, wenn es von Deadlocks auf einer SQL Server 2008-Instanz verursacht wird.Wie fangen SqlException verursacht durch Deadlock?
Typische Fehlermeldung ist Transaction (Process ID 58) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Doch es ist kein dokumentiert error code für diese Ausnahme zu sein scheint.
Filterung Ausnahme gegen das Vorhandensein der Deadlock Schlüsselwort in ihrer Nachricht scheint eine sehr hässliche Möglichkeit, dieses Verhalten zu erreichen. Kennt jemand den richtigen Weg, dies zu tun?
Ich (endlich) fand die Dokumentation für den Fehlercode: http://msdn.microsoft.com/en-us/library/aa337376.aspx. Sie können dies auch über SQL Server selbst finden: 'Wählen Sie * aus master.dbo.sysmessages wobei error = 1205' –