কেন্দ্রীয় ডাটাবেস সার্ভারের সাথে সংযোগ বিচ্ছিন্ন ডিভাইসগুলিকে সিঙ্ক্রোনাইজ করার ক্ষেত্রে একটি সমস্যার শ্যুটিংয়ে আমরা সার্ভারে এসকিউএল সার্ভার ২০১২-তে আপগ্রেড করার পরে একটি সমস্যা অনুভব করছি। মনে হচ্ছে CHANGE_TRACKING_MIN_VALID_VERSION তার চেয়ে 1 টি বেশি মান প্রত্যাবর্তন করছে (বা কমপক্ষে এটি আপগ্রেডের আগে করেছিল তার চেয়ে কম।)
আমি কীভাবে একটি সহজ উদাহরণ স্থাপন করতে পারি তার উদাহরণ দিয়ে আরশাদ আলীর দুর্দান্ত হাঁটাপথে কাজ করছি ।
আমি এসকিউএল সার্ভার ২০০৮ এবং ২০১২-এর পরিবেশ উভয় ক্ষেত্রে কর্মী সারণীতে সারি সন্নিবেশ করা, মুছতে এবং আপডেট করতে # 1 থেকে # 5 পর্যন্ত স্ক্রিপ্টগুলি চালিয়েছি।
2008 সালে, নিম্নলিখিত বিবৃতিটি 0 প্রদান করে:
SELECT CHANGE_TRACKING_MIN_VALID_VERSION(OBJECT_ID('Employee'))
2012 সালে, এটি 1 প্রদান করে।
পরীক্ষাগুলিতে আরও কয়েকটি স্ক্রিপ্ট (6-8) এর মাধ্যমে কাজ করার জন্য, আমি আশা করি যে কোনও ক্লিনআপ ক্রিয়াকলাপ জোর করে ধরে রাখার সময়কালটি 1 মিনিটের মধ্যে রেখেছি। আমি দিনের জন্য রওয়ানা এবং স্পষ্টত এটি রাতারাতি চলে।
২০০৮ উদাহরণস্বরূপ, CHANGE_TRACKING_CURRENT_VERSION এবং CHANGE_TRACKING_MIN_VALID_VERSION সমান (১১)। ২০১২ সালের উদাহরণে, CHANGE_TRACKING_MIN_VALID_VERSION CHANGE_TRACKING_CURRENT_VERSION (১১) এর চেয়ে এক উচ্চ (12)। এটি একটি সুসংগতকরণের প্রক্রিয়াতে প্রভাব ফেলতে পারে যখন কোনও ডেটাবেস সময়কালের জন্য বর্ধিত সময়ের জন্য অলস থাকে। এবং আমরা দেখতে পেয়েছি যে প্রক্রিয়াটি একটি লুপের মধ্যে পড়ে যেতে পারে, বিশেষত যখন সিঙ্ক্রোনাইজেশনের বিপরীতে পুনরায় আরম্ভকরণ প্রয়োজন হয় তা নির্ধারণ করতে নিম্নলিখিত পরীক্ষা করা হয়:
IF CHANGE_TRACKING_MIN_VALID_VERSION(object_id(N'dbo.Employee')) > @sync_last_received_anchor
RAISERROR (N'SQL Server Change Tracking has cleaned up tracking information for table ''%s''...
আচরণের এই পরিবর্তনটি অন্য কেউ অনুভব করেছেন? কারও কি ব্যাখ্যা আছে?