একটি বাল্ক ইনসার্ট প্রগতিতে থাকা অবস্থায় এসএসডিটি স্কিমা তুলনা কাজ করে না


11

আমি একটি বৃহত ইটিএল এবং ডিডাব্লু প্রকল্পে কাজ করছি যেখানে আমরা এসএসআইএস এবং এসএসডিটি উভয়ের সাথে একসাথে টিএফএস / উত্স নিয়ন্ত্রণ ব্যবহার করি।

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

এর মধ্যে আরও কিছুটা অনুসন্ধান করে, আমি দেখতে পেলাম যে এসএসডিটি-তে স্কিমা তুলনা ফাংশন একটি এসকিউএল স্ক্রিপ্ট OBJECTPROPERTY()কার্যকর করে যা ডাটাবেসের টেবিলগুলিতে সিস্টেম ফাংশনটিকে কল করে। বিশেষত আমার ক্ষেত্রে, কোনও কলগুলি OBJECTPROPERTY(<object_id>, N'IsEncrypted')অবরুদ্ধ বলে মনে হয়, যখন <object_id>বর্তমানে একটি সারণী উল্লেখ করা হয় যা বর্তমানে প্রচুর পরিমাণে in োকানো হচ্ছে।

ভিজ্যুয়াল স্টুডিওতে, এসএসডিটি স্কিমা কিছু সময়ের পরে কেবল সময়ের তুলনা করে এবং দাবি করে যে কোনও পার্থক্য সনাক্ত করা যায় নি।

এসএসডিটি-তে এই ইস্যুটির কোনও সমাধান হতে পারে, বা আমার সম্ভবত একটি এমএস কানেক্ট বাগ রিপোর্ট ফাইল করার চেষ্টা করা উচিত?

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


বাল্ক আমদানির জন্য লকিং আচরণ নিয়ন্ত্রণ করে দেখুন - আপনার কাছে 'বাল্ক লোডে টেবিল লক' সক্ষম থাকতে পারে। এছাড়াও আপনার বাল্ক INSERT ট্যাবফলক
স্টুয়ার্ট্ড

আপনি যদি টেবিল লকগুলি নিচ্ছেন, তবে আপনি যেকোন উপায়ে এটি অক্ষম করে রাখলে আপনি দ্রুত লোড পেতে পারেন ( টেকনেট.মাইক্রোসফট /en-us/library/ms177445.aspx ) - যে কারণেই হোক না কেন আমি একটি সংযোগ বাড়িয়ে দেব কারণ একটি সময়সীমা হওয়া উচিত খুব কমই ব্যর্থ হোন শুধু বলার পরিবর্তে যে কোনও পরিবর্তন নেই
এড এলিয়ট

জবাব, stuartd এবং এড এলিয়ট জন্য ধন্যবাদ। দেখা যাচ্ছে যে কার্য সম্পাদনের কারণে আমরা আসলে টেবিলটি লক করতে চাই না। আমার মতে, এসএসডিটি এটি হ্যান্ডেল করতে সক্ষম হওয়া উচিত, কারণ আমরা কেবল ডাটাবেসটির তুলনা করতে চাই, ডাটাবেসে থাকা বস্তুগুলিতে পরিবর্তন প্রয়োগ করি না। আমি এটিকে সম্বোধন করার জন্য একটি সংযোগ পোস্ট তৈরি করব।
ড্যান

3
অভ্যন্তরীণগুলি আমার ফোর্ট নয় তবে আমি এটি বুঝতে পেরেছি, আপনার টেবিলে একটি লক রয়েছে। যে পরিমাণ লক নেওয়া হয় তা বাল্ক সন্নিবেশের জন্য যা স্কিমাকে যাচাই করতে প্রয়োজনীয় লক (গুলি) এর সাথে বেমানান। প্রাসঙ্গিক পড়া বিওএল স্কিমা লক
বিলিংক

আপনি সম্ভবত আরও ভালভাবে ব্যাখ্যা করতে পারেন কেন স্কিমার তুলনাটি লোড অপারেশনের সাথে সমান্তরালে চলতে হবে? সম্ভবত বিকল্প একটি ডাটাবেসের একটি রেফারেন্স মডেল আছে। কোনও ডেটা নেই, কেবল স্কিমা। তার তুলনায় আপনার তুলনা চালান এবং তারপরে নিশ্চিত করুন যে রেফারেন্স মডেলটি আপডেট না করেই যেখানে এই বাল্ক অপ্সটি সঞ্চালিত হচ্ছে সেখানে আসল ডাটাবেসটি কেউ পরিবর্তন করে না।
বিলিংক

উত্তর:


19

OBJECTPROPERTYকলের জন্য একটি স্কিমা স্থায়িত্ব (SCH-এস) লক, যা শুধুমাত্র প্রয়োজন বেমানান একটি স্কিমা রুপান্তরিকরণ (SCH-এম) লক।

BULK INSERTকিছু পরিস্থিতিতে একটি SCH-এম লক নিতে হবে। এগুলি অনলাইনে বইগুলিতে বাল্ক আমদানি অনুকূল করার জন্য গাইডলাইনগুলির বিভাগ "সারণী লকিং এবং লগ আমদানির সময় লগিং" বিভাগে তালিকাভুক্ত করা হয়েছে :

বাল্ক আমদানি লক করা

গন্তব্য সারণীটি যদি ক্লাস্টার করা থাকে তবে আপনি ট্রেস পতাকা 610 সক্ষম করতে সক্ষম হতে পারেন । দয়া করে এই পোস্টগুলির পুরো সিরিজ এবং ডেটা লোডিং পারফরম্যান্স গাইডটি পড়ুন এবং আপনি যদি এই রুটে যাওয়ার সিদ্ধান্ত নেন তবে ভালভাবে পরীক্ষা করুন।

এসএসডিটি কেন IsEncryptedটেবিলগুলির জন্য সম্পত্তিটি পরীক্ষা করে তা আমার কোনও ধারণা নেই । আমি এমন কোনও দৃশ্যের কল্পনা করতে পারি না যেখানে এটি বোঝা যায় তবে এটি এসএসডিটি-র লোকদের জন্য একটি প্রশ্ন।


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