বিতরণ লেনদেন শুরু করতে অক্ষম


97

আমি লিঙ্কযুক্ত সার্ভারের বিরুদ্ধে এসকিউএল চালানোর চেষ্টা করছি, তবে আমি নীচের ত্রুটিগুলি পেয়েছি:

BEGIN DISTRIBUTED TRANSACTION
SELECT TOP 1 * FROM Sessions


OLE DB provider "SQLNCLI" for linked server "ASILIVE" returned message "No transaction is active.".

Msg 7391, Level 16, State 2, Line 3
The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "ASILIVE" was unable to begin a distributed transaction.

সরবরাহকারীর দ্বারা দুটি ত্রুটি ফিরে এসেছে:

ত্রুটি # 1:

Number: $80040E14
Source: Microsoft OLE DB Provider for SQL Server
Description: OLE DB provider "SQLNCLI" for linked server "ASILIVE" returned message "No transaction is active.".
HelpFile: 
HelpContext: $00000000
SQLState: 01000
NativeError: 7412

ত্রুটি # 2

Number: $80040E14
Source: Microsoft OLE DB Provider for SQL Server
Description: The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "ASILIVE" was unable to begin a distributed transaction.
HelpFile: 
HelpContext: $00000000
SQLState: 42000
NativeError: 7391

আমি কীভাবে মাইক্রোসফ্টকে সুরক্ষার তুলনায় কার্যকারিতাটির পক্ষে পেতে পারি?

বা, কমপক্ষে, আমি কীভাবে একে অপরের সাথে কথা বলার জন্য দুটি এসকিউএল সেভার পেতে পারি?

সম্পর্কিত প্রশ্নগুলি


আমি যা করেছি তা অপ্রাসঙ্গিক তবে আমি তা যাইহোক পোস্ট করব।

  1. Distributed Transaction Coordinatorউভয় মেশিনে পরিষেবাটি চলমান রয়েছে তা নিশ্চিত করুন :

    এখানে চিত্র বর্ণনা লিখুন

    এখানে চিত্র বর্ণনা লিখুন

  2. উভয় মেশিনে সমস্ত এমএসডিটিসি সুরক্ষা অক্ষম করুন:

    এখানে চিত্র বর্ণনা লিখুন

    এখানে চিত্র বর্ণনা লিখুন

  3. লিঙ্কযুক্ত সার্ভারে এলোমেলো বিকল্পগুলি চালু করুন:

এখানে চিত্র বর্ণনা লিখুন

  1. অভিশপ্ত এবং কসম খেয়েছে।

  2. নষ্ট জিনিস।

  3. লিঙ্কযুক্ত সার্ভারটি কোনও SELECTব্যবহার করতে পারে তা পরীক্ষা করা হয়েছে :

        SELECT * FROM ASILive.CustomerManagementSystem.dbo.Users
        ....
    
        (763 row(s) affected)
    
  4. ক্লায়েন্ট সার্ভারটি pingদূরবর্তী সার্ভারটি করতে পারে তা চেক করা হয়েছে :

         C:\Documents and Settings\avatar>ping asicmstest.contoso.com
    
         Pinging asicmstest.contoso.com [10.0.0.40] with 32 bytes of data:
    
         Reply from 10.0.0.40: bytes=32 time<1ms TTL=128
         Reply from 10.0.0.40: bytes=32 time<1ms TTL=128
         Reply from 10.0.0.40: bytes=32 time<1ms TTL=128
         Reply from 10.0.0.40: bytes=32 time<1ms TTL=128
    
         Ping statistics for 10.0.0.40:
             Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
         Approximate round trip times in milli-seconds:
             Minimum = 0ms, Maximum = 0ms, Average = 0ms
    
  5. পরীক্ষিত হয়েছে যে রিমোট সার্ভারটি আরম্ভকারী সার্ভারে নাম অনুসারে ফিরে আসতে পারে:

         C:\Documents and Settings\avatar>ping asitestserver.contoso.com
    
         Pinging asitestserver.contoso.com [10.0.0.22] with 32 bytes of data:
    
         Reply from 10.0.0.22: bytes=32 time<1ms TTL=128
         Reply from 10.0.0.22: bytes=32 time<1ms TTL=128
         Reply from 10.0.0.22: bytes=32 time<1ms TTL=128
         Reply from 10.0.0.22: bytes=32 time<1ms TTL=128
    
         Ping statistics for 10.0.0.22:
             Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
         Approximate round trip times in milli-seconds:
             Minimum = 0ms, Maximum = 0ms, Average = 0ms
    
  6. @@SERVERNAMEউভয় সার্ভারে সার্ভারের নামের সাথে মেলে যাচাই করা হয়েছে :

       SELECT @@SERVERNAME, SERVERPROPERTY('MachineName')
    
       -------------  -------------
       ASITESTSERVER  ASITESTSERVER
    

    এবং

       SELECT @@SERVERNAME, SERVERPROPERTY('MachineName')
    
       ----------  ----------
       ASIGROBTEST  ASIGROBTEST
    
  7. ভয় পেয়েছে

  8. SET XACT_ABORT ONআমার জিজ্ঞাসা জারি করার আগে জারি করা হয়েছে :

    SET XACT_ABORT ON
    GO
    BEGIN DISTRIBUTED TRANSACTION
    SELECT TOP 1 * FROM Sessions
    
  9. মঞ্জুর Everyone Full Controlকরার :

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer
    

    উভয় সার্ভারে।


32
আপনি গুরুত্বপূর্ণ "অভিশপ্ত এবং শপথ ​​করেছেন" পদক্ষেপটি এড়িয়ে যাননি দেখে ভাল লাগছে!
jwl

11
@ জোলারসন আরে, কখনও কখনও লোকেরা খুব নির্দিষ্ট হয় যে আপনি প্রতিটি পদক্ষেপ অনুসরণ করেন । আমি কাউকে বলতে চাইনি যে আমি কিছু চেষ্টা করিনি।
ইয়ান বয়ড

4
আমি এই পোস্টটি ভালবাসি। এটি এমএসডিটিসি নিয়ে আমার প্রতিটি অভিজ্ঞতা টাইপ করে।
এ মারে

4
আমার ক্ষেত্রে, আমি লিঙ্কযুক্ত সার্ভারে "আরপিসির জন্য বিতরণ লেনদেনের প্রচার প্রচার সক্ষম করুন" সেট করার পরে, এটি কাজ করে। সম্ভবত এটি চেষ্টা করে দেখুন
সরসপরিল্লা

4
@ হাইফান বিতরণকৃত লেনদেনের ব্যবহার বন্ধ করে দেওয়া আন্তঃজাতীয় অখণ্ডতা s খুব বিপজ্জনক
ইয়ান বয়েড

উত্তর:


31

এটি খুঁজে পেয়েছে, রিমোট সার্ভারে এমএসডিটিসি ছিল স্থানীয় সার্ভারের ক্লোন।

উইন্ডোজ অ্যাপ্লিকেশন ইভেন্ট লগ থেকে:

ইভেন্টের ধরণ: ত্রুটির
ইভেন্ট উত্স: এমএসডিটিসি
ইভেন্ট বিভাগ: মুখ্য
ইভেন্ট ইভেন্ট আইডি: 4101
তারিখ: 9/19/2011
সময়: 1:32:59 প্রধানমন্ত্রী
ব্যবহারকারী: এন / এ
কম্পিউটার: অ্যাসিট সার্ভার
বিবরণ:

স্থানীয় এমএস ডিটিসি সনাক্ত করেছে যে এএসআইকিএমএসটিস্টে থাকা এমএস ডিটিসি-র স্থানীয় এমএস ডিটিসি-র মতোই অনন্য পরিচয় রয়েছে। এর অর্থ এই যে দুটি এমএস ডিটিসি একে অপরের সাথে যোগাযোগ করতে সক্ষম হবে না। এই সমস্যাটি সাধারণত দেখা দেয় যদি কোনও সিস্টেম অসমর্থিত ক্লোনিং সরঞ্জামগুলি ব্যবহার করে ক্লোন করা হয়েছিল। এমএস ডিটিসি দরকার যে এসআইএসপিআরপি হিসাবে সমর্থিত ক্লোনিং সরঞ্জামগুলি ব্যবহার করে সিস্টেমগুলি ক্লোন করা উচিত। কমান্ড প্রম্পট থেকে 'msdtc-uninstall' এবং তারপরে 'msdtc -install' চালানো সমস্যার সমাধান করবে। দ্রষ্টব্য: 'এমএসডিটিসি -উইনস্টল' চালনার ফলে সিস্টেমটি এমএস ডিটিসি-র সমস্ত কনফিগারেশন তথ্য হারিয়ে ফেলবে।

আরও তথ্যের জন্য, সহায়তা এবং সহায়তা কেন্দ্রটি http://go.microsoft.com/fwlink/events.aspদেখুন

চলছে

msdtc -uninstall
msdtc -install

এবং তারপরে এসকিউএল সার্ভার পরিষেবাটি থামানো এবং পুনরায় চালু করা এটি সংশোধন করে।


4
আসুন দেখুন আমি এটি সঠিকভাবে পেয়েছি কিনা: 1- এমএসডিটিসি-ইউনস্টল 2- এমএসডিটিসি -ইনস্টল 3- এসকিউএল সার্ভার পরিষেবা পুনরায় চালু করুন 4- এসকিউএল এজেন্ট পরিষেবাটি পুনরায় চালু করুন, নিশ্চিত হওয়া নিশ্চিত 5-- এমনকি "বিতরণকৃত লেনদেন সমন্বয়কারী" পরিষেবাটি পুনঃসূচনা করুন ... আমি উভয় মেশিনে (মূল সার্ভার ও লিঙ্কযুক্ত সার্ভার) এ-এবং কিছুই না, এখনও একই ত্রুটি করেছি!
হামিদ সাদেঘিয়ান

11

আমি "আরপিসির জন্য বিতরণ লেনদেনের প্রচার সক্ষম করুন" অক্ষম করে (অর্থাত্ এটি সেট করে False) अक्षम করে এই সমস্যাটি সমাধান করতে সক্ষম হয়েছি (অন্যরা মন্তব্য হিসাবে উল্লিখিত হয়েছে ):

এখানে চিত্র বর্ণনা লিখুন

@ ওয়ান্ডার ওয়ার্কারের অনুরোধ অনুসারে, আপনি এসকিউএল স্ক্রিপ্টের মাধ্যমে এটি করতে পারেন:

EXEC master.dbo.sp_serveroption
     @server = N'[mylinkedserver]',
     @optname = N'remote proc transaction promotion',
     @optvalue = N'false'

4
এটি আমার পক্ষে কাজ করেছে। কী আশ্চর্যজনক তা হ'ল কয়েক সপ্তাহ ঠিক আছে, এবং তারপরে হঠাৎ শুরু হয়েছিল। সম্ভবত কারণ দূরবর্তী সার্ভারের ডিটিসি পরিষেবাটি অক্ষম থাকতে পারে। যাই হোক ধন্যবাদ.
বয়ড পি

4
উজ্জ্বল। আপনি এটির স্ক্রিপ্ট দেওয়ার কোনও উপায় জানেন? আমার সমস্ত সার্ভারে, সমস্ত লিঙ্কযুক্ত সার্ভারের অবজেক্টগুলির বিতরণ লেনদেনের সক্ষম প্রচারটি সত্য হিসাবে সেট করা আছে এবং কে এখনও এটি করেছে তা আমি সনাক্ত করতে সক্ষম হইনি। এটি পেরে ওঠা এতটাই ক্লান্তিকর।
ওয়ান্ডার ওয়ার্কার

4
@ ওয়ান্ডার ওয়ার্কার আমি সবেমাত্র একটি এসকিউএল স্ক্রিপ্ট ব্যবহার করতে পারি তার একটি শট দিন!
স্টিভ বাউমান

6

ঠিক আছে, সুতরাং পরিষেবাগুলি শুরু হয়, তাদের মধ্যে একটি ইথারনেট পাথ রয়েছে, নাম রেজ্যুলেশন কাজ করে, লিঙ্কযুক্ত সার্ভারগুলি কাজ করে এবং আপনি লেনদেনের প্রমাণীকরণকে অক্ষম করেন।

আমার অন্ত্রে ফায়ারওয়াল ইস্যু বলে, কিন্তু কিছু জিনিস মনে আসে ...

  1. মেশিনগুলি কি একই ডোমেনে রয়েছে? (হ্যাঁ, অক্ষম প্রমাণীকরণের বিষয়টি বিবেচনা করা উচিত নয়)
  2. ফায়ারওয়ালগুলি কি মেশিনগুলিতে চলছে? ডিটিসি ফায়ারওয়ালের জন্য কিছুটা ব্যথা হতে পারে কারণ এটি বন্দরগুলির একটি ব্যাপ্তি ব্যবহার করে, দেখুন http://support.microsoft.com/kb/306843 আপাতত সমস্যাটি সনাক্ত করার জন্য আমি ফায়ারওয়ালগুলি অক্ষম করব would
  3. ডিটিসি পিং কী বলে? http://www.microsoft.com/download/en/details.aspx?id=2868
  4. এসকিউএল পরিষেবাটি কোন অ্যাকাউন্ট হিসাবে চলছে?

2

সার্ভারগুলি যদি ক্লাস্টার হয় এবং একটি ক্লাস্টারযুক্ত ডিটিসি থাকে তবে আপনাকে স্থানীয় ডিটিসি নয় ক্লাস্টারড ডিটিসি-তে সুরক্ষা অক্ষম করতে হবে।


1

যদি আপনার গন্তব্য সার্ভারটি অন্য মেঘ বা ডেটা সেন্টারে থাকে তবে আপনার উত্স সার্ভারে এমএসডিটিসি পরিষেবা (গন্তব্য সার্ভার) এর হোস্ট-এন্ট্রি যুক্ত করা দরকার ।

সমস্যাটি সমাধান না হলে এটি ব্যবহার করে দেখুন, এমএসডিটিসি সেটিংস সক্ষম করার পরে।


1

আমার জন্য, এটি ফায়ারওয়াল সেটিং সম্পর্কিত। আপনার ফায়ারওয়াল সেটিং এ যান, ডিটিসি পরিষেবাটিকে অনুমতি দিন এবং এটি কার্যকর হয়েছে।এখানে চিত্র বর্ণনা লিখুন


0

এমএসডিটিসির সাথে আমার শেষ অ্যাডভেঞ্চার এবং এই ত্রুটিটি আজ ডিএনএস সমস্যা হিসাবে পরিণত হয়েছে। আপনি সঠিক ট্র্যাকের উপর জিজ্ঞাসা করছেন মেশিনগুলি একই ডোমেনে রয়েছে কিনা, ইবারার। এই ইস্যুটির জন্য ভয়ঙ্কর তালিকা, যাইহোক!

আমার পরিস্থিতি: ফায়ারওয়ালের মাধ্যমে প্যারেন্ট ডোমেনে কোনও সার্ভারের বিরুদ্ধে বিতরণ লেনদেন চালাতে সক্ষম হতে আমার একটি শিশু ডোমেনে একটি সার্ভারের দরকার ছিল। আমি বেশ কয়েক বছর ধরে লিঙ্কযুক্ত সার্ভারগুলি ব্যবহার করেছি, সুতরাং আমার কাছে একটি লিঙ্কযুক্ত সার্ভারের জন্য এসকিউএল এবং এমএসডিটিসিতে সমস্ত সাধারণ সেটিংস ছিল যা আয়ানের উপরে এত সুন্দরভাবে নথিভুক্ত করা হয়েছিল। আমি উভয় সার্ভারে ব্যবহার করতে টিসিপি বন্দরগুলির (5000-5200) ব্যাপ্তি সহ এমএসডিটিসি স্থাপন করেছি এবং 1433 এবং 5000-5200 পোর্টগুলির বাক্সগুলির মধ্যে ফায়ারওয়াল গর্তের ব্যবস্থা করেছি। এটা কাজ করা উচিত ছিল। লিঙ্কযুক্ত সার্ভারটি ঠিক আছে এবং আমি সংযুক্ত সার্ভারের মাধ্যমে দূরবর্তী এসকিউএল সার্ভারটি খুব সুন্দরভাবে জিজ্ঞাসা করতে পারি, তবে বিতরণ লেনদেনের অনুমতি দেওয়ার জন্য আমি এটি পেতে পারি না। এমনকি আমি ডিএইভি সার্ভার থেকে কিউএ সার্ভারে একটি সংযোগও দেখতে পেয়েছি, তবে কিছু ট্রিপটি ফিরে আসেনি।

আমি কিউএ থেকে ডেভি সার্ভারকে এফকিউডিএন ব্যবহার করে পিং করতে পারি: পিং ডিভিএসকিউএল.ডিভ.ডোমেন.কম

আমি কেবল মেশিনের নাম দিয়ে দেব সার্ভারটি পিং করতে পারিনি: পিং ডিভিএসকিউএল

ডিইভিএসকিউএল সার্ভারটি উভয় ডোমেনেরই সদস্য হওয়ার কথা ছিল, তবে পিতামাতার ডোমেনের ডিএনএসে নামটি সমাধান হচ্ছে না ... প্যারেন্ট ডোমেনে ডিভিএসকিউএল এর জন্য মেশিন অ্যাকাউন্টে কিছু ঘটেছিল। একবার আমরা প্যারেন্ট ডোমেনের জন্য ডিএনএসে ডিভিএসকিউএল যুক্ত করেছি এবং "পিং ডিভিএসকিউএল" রিমোট কিউএ সার্ভার থেকে কাজ করলে আমাদের জন্য এই সমস্যাটি সমাধান হয়ে গেছে।

আশা করি এটা কাজে লাগবে!


0

সুরক্ষা সেটিংস ছাড়াও লেনদেন চালানোর জন্য আমাকে উভয় সার্ভারে কিছু পোর্ট খুলতে হয়েছিল। আমাকে 59640 বন্দরটি খুলতে হয়েছিল তবে নিম্নলিখিত পরামর্শ অনুসারে, 135 বন্দরটি খোলা থাকতে হবে। http://support.microsoft.com/kb/839279


0

আমি একই ত্রুটি পাচ্ছিলাম এবং আমি উইন্ডোজ ফায়ারওয়ালের মাধ্যমে ডিটিসিকে অনুমতি প্রদানের জন্য উত্স সার্ভারে এমএসডিটিসিটি সঠিকভাবে কনফিগার করে সমাধান করতে সক্ষম হয়েছি।

বিতরণ লেনদেন সমন্বয়কারী, টিক ডোমেন, ব্যক্তিগত এবং সর্বজনীন বিকল্পগুলির অনুমতি দিন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.