MS DTC'de işlem başlatmaya çalıştığınızda yeni işlem belirtilen işlem düzenleyicisine kaydolamıyor

Bu makale, Microsoft Dağıtılmış İşlem Düzenleyicisi'nde (MS DTC) işlem başlattığınızda bir sorunu çözmenize yardımcı olur.

Orijinal ürün sürümü: Windows
Özgün KB numarası: 922430

Önemli

Bu makale, kayıt defterinin nasıl değiştirileceği hakkında bilgiler içerir. Değiştirmeden önce kayıt defterini yedeklemeyi unutmayın. Bir sorun olduğunda kayıt defterinin nasıl geri yükleneceğini bildiğinizden emin olun. Kayıt defterini yedekleme, geri yükleme ve değiştirme hakkında daha fazla bilgi için bkz. Gelişmiş kullanıcılar için Windows kayıt defteri bilgileri.

Belirtiler

Aşağıdaki senaryoyu inceleyin:

  • Sunucu bilgisayarla iletişim kuran bir istemci bilgisayarınız var.
  • MS DTC her iki bilgisayara da yüklenir.
  • Aşağıdaki koşullardan biri veya daha fazlası doğrudur:
    • Bilgisayarlardan birini yeniden başlatırsınız.
    • Bilgisayarlardan birinde MS DTC'yi yeniden başlatırsınız.
    • Bilgisayarlar farklı etki alanlarındadır.

Bu senaryoda, MS DTC'de bir işlem başlatmaya çalıştığınızda aşağıdaki hata iletisini alırsınız:

Yeni işlem belirtilen işlem düzenleyicisine (0x8004d00a) kaydedilemiyor

Ayrıca, ilk işlem başarısız olur. Sonraki işlemler bir süre başarılı olur. Ancak sonraki işlemler yeniden başarısız olabilir. Sonraki işlemler başarısız olursa aşağıdaki hata iletisini alırsınız:

Yeni işlem belirtilen işlem düzenleyicisine (0x8004d00e) kaydedilemiyor

Neden

bu sorun, istemci bilgisayar ile sunucu bilgisayar arasındaki MS DTC bağlantısı kapatıldığında oluşabilir. Örneğin, boşta kalma zaman aşımı, uzaktan yordam çağrısı (RPC) zaman aşımı veya güvenlik duvarı istemci bilgisayarla sunucu bilgisayarı arasındaki MS DTC bağlantısını kapatabilir. Yeni bir işlem isteği gerçekleştiğinde, istemci bilgisayarın sunucu bilgisayarla MS DTC bağlantısını yeniden başlatması gerekir.

İstemci bilgisayar, sunucu bilgisayarla MS DTC bağlantısını yeniden kurmaya çalıştığında, istemci bilgisayar bir paket gönderir. Ardından, istemci bilgisayar sunucu bilgisayardan bir bağlama paketi yanıtı bekler. Varsayılan olarak, istemci bilgisayar sunucu bilgisayardan 4 saniye içinde yanıt almazsa istemci bilgisayar işlemi durdurur. Ağ gecikmesi sorunları veya kimlik doğrulama gecikmeleri nedeniyle sunucu bilgisayardan gelen yanıt gecikebilir. Sunucu bilgisayardan gelen yanıt sonunda istemci bilgisayara ulaştığında, izleyen işlemler başarılı olur.

İlk işlem uzun sürebilir ve daha sonra bir dağıtılmış işlem yapma isteği hemen tamamlanabilir. MS DTC'nin istemci tarafında Kerberos (KDC) sunucusuyla iletişimde sorun olduğunda bu sorun oluşabilir. Genellikle, istemci ve sunucu aralarında güvenlik duvarı bulunan farklı etki alanlarındaysa bu sorun oluşur.

Örneğin, bu sorun aşağıdaki senaryoda oluşur:

  • Web Hizmeti bir etki alanındaki Çevre Ağı'ndadır. Web Hizmeti' nin işlemleri intranetteki başka bir etki alanındaki veritabanı sunucusuyla kullanması gerekir.
  • Çevre Ağı ile intranet arasında bir güvenlik duvarı vardır. İlk işlemdeki aşırı gecikme, Kullanıcı Veri Birimi Protokolü (UDP) bağlantı noktası 88 (Kerberos) engellendiğinden oluşur.
  • Kerberos isteğinin yeniden deneme ve yeniden deneme aralığı aşırı gecikmeye eşittir (100 saniyenin üzerinde).

Çözüm

Uyarı

Kayıt Defteri Düzenleyicisi'ni veya başka bir yöntemi kullanarak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu sorunlar, işletim sisteminizi yeniden yüklemenizi gerektirebilir. Microsoft, bu sorunların çözülebileceğini garanti edemez. Kayıt defterini değiştirmek kendi sorumluluğunuzdadır.

Bu makalede açıklanan sorunla karşılaştığından emin olmak için MS DTC işlem izleme günlük dosyasının aşağıdaki verileri içerdiğini doğrulayın:

; eventid=TRANSACTION_PROPOGATION_FAILED_CONNECTION_DOWN_FROM_REMOTE_TM ; tx_guid=f11cd9c9-7b8a-41e3-a904-4840123bacf7 ;" uzak işlem yöneticisiyle bağlantı kesildi diye işlemi 'ComputerName' alt düğümüne dağıtamadı"

Not

Bu verilerde, yayma sözcüğü, yayma sözcüğü için bir yanlış yazımdır. Propogate sözcüğü, yayma sözcüğü için bir yanlış yazımdır.

MS DTC işlem izleme günlük dosyası bu verileri içeriyorsa şu adımları izleyin:

  1. Başlat'ı seçin, Çalıştır'ı seçin, regedit yazın ve ardından TAMAM'ı seçin.

  2. Aşağıdaki kayıt defteri alt anahtarlarını bulun:
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC

  3. MSDTC'ye sağ tıklayın, Yeni'nin üzerine gelin ve DWORD Değeri'ni seçin.

  4. CmMaxNumberBindRetries yazın ve ENTER tuşuna basın.

  5. CmMaxNumberBindRetries öğesine sağ tıklayın ve Değiştir'i seçin.

  6. Ondalık'ı seçin.

  7. Değer verileri kutusuna 60 yazın.

    Bu değer, istemci bilgisayarın sunucu bilgisayardan gelen bağlama paketi yanıtını bekleme süresini artırır. bu değer, istemci bilgisayar bağlama paketi yanıtını almazsa, istemci bilgisayarın işlemi durdurmadan önce geçmesi için iki saniyedir. Örneğin, 60 değeri 30 saniyeye eşittir. 60 değeri yalnızca önerilen bir değerdir. Yapılandırmanızda ek test gerekebilir.

  8. Tamam'ı seçin.

  9. MS DTC'i yeniden başlatın.

Not

Yavaş yanıt senaryosu için, Çevre Ağı'nda bir güvenlik duvarı söz konusu olduğunda Kerberos kimlik doğrulaması (UDP 88 ve İletim Denetimi Protokolü (TCP) 88) için gereken bağlantı noktalarının açık olduğundan emin olun. Udp 389 ve TCP 389 bağlantı noktaları (Anahtar Dağıtım Merkezi'ni (KDC) bulmak için her ikisi de Basit Dizin Erişim Protokolü (LDAP) için) açık olmalıdır.