MSDTC فشل مصادقة عند عدم إمكانية تشغيل أجهزة الكمبيوتر في نفس المجال

الأعراض

عند استخدام جهازي الكمبيوتر التي لا تعمل في نفس المجال Microsoft منسق المعاملات الموزعة (MSDTC) للاتصالات والمعاملات الموزعة، قد تفشل المصادقة المتبادلة.

عند تشغيل معاملة موزعة مقابل ملقم مرتبط في Microsoft SQL Server 2000 على كمبيوتر الذي يقوم بتشغيل Microsoft Windows Server 2003 Enterprise Edition، قد تتلقى رسالة الخطأ التالية:
الملقم: Msg 7391، مستوى 16 حالة 1، السطر الأول
تعذر تنفيذ العملية لأن موفر OLE DB 'SQLOLEDB' قادرة على بدء معاملة موزعة. موفر OLE/DB إرجاع الرسالة: يتعذر إدراج حركة جديدة منسق المعاملات المحدد.

السبب

وكيل MSDTC قد غير بشكل صحيح مصادقة MSDTC عندما لا تكون أجهزة الكمبيوتر المتصلة في نفس المجال.

الحل البديل

هام: يحتوي هذا المقطع أو الأسلوب أو المهمة على الخطوات التي توضح كيفية تعديل التسجيل. ومع ذلك، قد تحدث مشكلات خطيرة إذا قمت بتعديل التسجيل بشكل غير صحيح. لذلك، تأكد من اتباع الخطوات التالية بعناية. للحماية الإضافية، قم بعمل نسخة احتياطية للسجل قبل تعديله. بعد ذلك، يمكنك استعادة السجل في حالة حدوث مشكلة. لمزيد من المعلومات حول كيفية عمل نسخة احتياطية من السجل واستعادته، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
322756 كيفية عمل نسخة احتياطية من السجل واستعادته في نظام التشغيل Windows


لمزيد من المعلومات حول كيفية تحرير التسجيل، عرض موضوع التعليمات "تغيير المفاتيح والقيم" في "محرر التسجيل" (Regedit.exe) أو مواضيع التعليمات "إضافة معلومات في التسجيل وحذفها" و "تحرير بيانات التسجيل" في Regedt32.exe. توصي Microsoft بالنسخ الاحتياطي للتسجيل قبل تحريره.

للتغلب على هذه المشكلة، أوقف تشغيل أمان RPC على أجهزة كمبيوتر Windows Server 2003. أمان RPC ميزة جديدة في Windows Server 2003 DTC. عند تعطيل أمان RPC، مستوى الأمان مصادقة DTC لاستدعاءات RPC يعود إلى مستوى المتوفرة في نظام التشغيل Microsoft Windows 2000 Server. للقيام بذلك، اتبع هذه الخطوات لتعيين القيمة DWORD قيمة السجل تورنوفربكسيكوريتي إلى 1:
  1. ابدأ تشغيل "محرر التسجيل" (Regedt32.exe).
  2. حدد موقع المفتاح التالي في السجل:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
  3. في القائمة تحرير ، انقر فوق إضافة قيمةثم قم بإضافة قيمة التسجيل التالية:
    اسم القيمةنوع البياناتالقيمة
    تورنوفربكسيكوريتيREG_DWORD1
  4. قم بإنهاء "محرر التسجيل".
ملاحظة: بعد تثبيت حزمة الخدمة Windows Server 2003 service Pack 1، تم تعيين إدخال التسجيل تورنوفربكسيكوريتي إلى 0. يجب عليك استعادة القيمة إلى 1 باستخدام "محرر التسجيل" قبل إعادة تشغيل الكمبيوتر.

الحالة

يعتبر هذا السلوك حسب التصميم.

مزيد من المعلومات

خطوات إعادة إنشاء المشكلة

  1. تأكد من أن كلا الجهازين قيد التشغيل Windows Server 2003.
  2. تثبيت SQL Server 2000 مع Service Pack 3 (SP3) على كل من أجهزة الكمبيوتر.
  3. تأكد من بدء تشغيل MSDTC على كلا الجهازين.
  4. على الكمبيوتر الأول، بدء تشغيل أداة محلل استعلام SQL (Isqlw.exe)، ومن ثم الاتصال SQL Server المحلية.
  5. إضافة الكمبيوتر الثاني ملقم مرتبط. للقيام بذلك، بتشغيل عبارة SQL للعمليات التالية في محلل استعلام SQL:
    EXEC sp_addlinkedserver  'remote_server',  N'SQL SERVER'GO
    ملاحظة: استبدال remote_server باسم الكمبيوتر الثاني.
  6. قم بتشغيل عبارة SQL للعمليات التالية في محلل استعلام SQL:
    SET xact_abort ON GO
    USE pubs
    GO
    BEGIN DISTRIBUTED TRANSACTION
    SELECT * FROM
    remote_server.pubs.dbo.authorsCOMMIT TRAN
    GO

    قد تظهر رسالة الخطأ المذكورة في قسم "الأعراض" من هذه المقالة.
لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":

ظهور خطأ 7391 عند تشغيل معاملة موزعة مقابل ملقم مرتبط 329332

لمزيد من المعلومات حول Microsoft COM + 1.5، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:
خصائص

رقم الموضوع: 827805 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات