2009-02-03 14 views
12

Bir System.Transaction TrasactionScope'un neden DTC'ye iletildiğini belirleme yolu var mı? Diğer bileşenlerin (aldatıcı benzerlik gösteren) eskalasyon yapmazken, işlemimizi tırmandırmış gibi görünen bileşenlerden biriyle çarpmaktayız.Bir işlemin neden DTC'ye iletildiğini izleme

Herhangi bir bilgi tırmanma nedenleri hakkında mevcut mu ve nasıl bulunup nasıl gözlenebilir? SQL Profiler? Log dosyaları? Yoksa bu konuda şanslı mıyım?

GÜNCELLEME: Uygulama Söz konusu İşlem Kapsamında (hatta aynı veritabanına) ikinci bağlantı açar her bir işlem yükseltilmiş olup TransactionScope kullanırken ben bilgi

+0

Veritabanını varsaymak SQL 2005 mi, yoksa SQL 2008 mi? – Kev

cevap

7

Distributed Transaction Cordinator hizmetini kapatıp başlangıç ​​türünü devre dışı durumuna ayarlamayı deneyebilirsiniz. Bu, çağrı yığında sorun koduna sahip olacak işlem tanıtıldığında bir istisna neden olur.

Makine üzerinde bu hizmet gerektiren başka bir ürününüz varsa, ancak bir hata ayıklama makinesinde bu mümkün olabilir, tabii ki bu yardımcı olmaz.

+0

Bu kabul edilen yanıtı işaretlemek, aslında sorunun nedenini bulmama yardımcı oldu. Anton'un http://stackoverflow.com/questions/506733/trace-why-a-transaction-is-escalated-to-dtc/506753#506753 adresinde anlattığı gibi ikinci bir bağlantı açılır. –

9

için SQL Server 2005 karşı koşuyorum.

+0

Daha fazla bilgi için: http://stackoverflow.com/questions/1690892/transactionscope-automatically-escalating-to-msdtc-on-som-machines –

İlgili konular