ওএল ডিবি গন্তব্য উপাদানগুলির ডেটা অ্যাক্সেস মোড দুটি স্বাদে আসে - দ্রুত এবং অ-দ্রুত।
দ্রুত, হয় "টেবিল বা দেখুন - দ্রুত লোড" বা "টেবিল বা দেখুন নাম ভেরিয়েবল - দ্রুত লোড" মানে ডেটা সেট-ভিত্তিক ফ্যাশনে লোড হবে।
ধীরে ধীরে - হয় "টেবিল বা দেখুন" বা "টেবিল বা দেখুন নাম ভেরিয়েবল" এর ফলে এসএসআইএস ডাটাবেসে সিঙ্গেলটন প্রবেশ বিবরণী জারি করবে। আপনি যদি 10, 100, এমনকি 10000 সারি লোড করে থাকেন তবে দুটি পদ্ধতির মধ্যে সম্ভবত প্রশংসনীয় পারফরম্যান্সের পার্থক্য নেই। যাইহোক, এক পর্যায়ে আপনি আপনার এসকিউএল সার্ভারের উদাহরণটি এই সমস্ত ছোট্ট অনুরোধের সাথে পরিপূর্ণ করতে চলেছেন। অতিরিক্তভাবে, আপনি আপনার লেনদেনের লগ থেকে হ্যাককে অপব্যবহার করতে চলেছেন।
আপনি কখনই নন-ফাস্ট পদ্ধতি চাইবেন? খারাপ ডেটা। যদি আমি 10000 সারি ডেটাতে প্রেরণ করি এবং 9999 তম সারিতে 2015-02-29 তারিখ থাকে, আপনার কাছে 10 কে পরমাণু প্রবেশ এবং চুক্তি / রোলব্যাক থাকবে। যদি আমি দ্রুত পদ্ধতিটি ব্যবহার করতাম তবে 10 কে সারিগুলির পুরো ব্যাচটি হয় সবই বাঁচিয়ে রাখবে বা তাদের কোনওটিই সংরক্ষণ করবে না। এবং যদি আপনি জানতে চান যে কোন সারি (গুলি) কে ভুল করে আউট করা হয়েছে, তবে আপনার গ্রানুলারিটির সর্বনিম্ন স্তর হবে 10 কে সারি।
এখন, যত তাড়াতাড়ি সম্ভব ডেটা লোড হওয়ার এবং এখনও নোংরা ডেটা হ্যান্ডেল করার পন্থা রয়েছে। এটি একটি ক্যাসকেডিং ব্যর্থতা পদ্ধতির এবং দেখতে এটির মতো কিছু লাগে
ধারণাটি হ'ল যে আপনি একটি শটে যথাসম্ভব সন্নিবেশ করার জন্য সঠিক আকারটি খুঁজে পেয়েছেন তবে যদি আপনি খারাপ ডেটা পান তবে আপনি খারাপ সারিগুলিতে যাওয়ার জন্য ক্রমাগতভাবে ছোট ছোট ব্যাচে ডেটা পুনরুদ্ধার করার চেষ্টা করতে যাচ্ছেন। এখানে আমি 10000 এর সর্বাধিক সন্নিবেশ প্রতিশ্রুতি আকার (ফাস্টল্ডএডম্যাক্সইনসেটকমিট) দিয়ে শুরু করেছি the ত্রুটি সারি স্বরূপ, আমি এটিকে এ Redirect Row
থেকে পরিবর্তন করি Fail Component
।
পরের গন্তব্যটি উপরের মতই তবে এখানে আমি একটি দ্রুত লোড চেষ্টা করে এটি 100 সারির ব্যাচে সংরক্ষণ করি। আবার, পরীক্ষা করুন বা যুক্তিসঙ্গত আকার নিয়ে আসার কিছু ভান করুন। এর ফলে 100 টি সারির 100 টি ব্যাচ প্রেরণ করা হবে কারণ আমরা সেখানে কোথাও জানি , কমপক্ষে একটি সারি রয়েছে যা টেবিলের জন্য অখণ্ডতা সীমাবদ্ধতা লঙ্ঘন করেছে।
আমি এবার মিশ্রণের তৃতীয় উপাদান যুক্ত করব, এবার আমি ১ টি ব্যাচে সংরক্ষণ করি বা আপনি কেবল দ্রুত লোড সংস্করণ থেকে টেবিলের অ্যাক্সেস মোডটি পরিবর্তন করতে পারেন কারণ এটি একই ফলাফল পাবে। আমরা প্রতিটি সারি পৃথকভাবে সংরক্ষণ করব এবং এটি আমাদের একক খারাপ সারি (গুলি) দিয়ে "কিছু" করতে সক্ষম করবে।
অবশেষে, আমার একটি ব্যর্থ সাফ গন্তব্য আছে। সম্ভবত এটি লক্ষ্যযুক্ত গন্তব্য হিসাবে "একই" টেবিল তবে সমস্ত কলামগুলি হিসাবে ঘোষিত হয়েছে nvarchar(4000) NULL
। এই টেবিলের যা কিছু আছে তার গবেষণা ও পরিষ্কার / বাতিল করা বা আপনার খারাপ ডেটা রেজোলিউশন প্রক্রিয়া যা যা করা দরকার। অন্যরা একটি ফ্ল্যাট ফাইলে ফেলে দেয় তবে সত্যই, আপনি কীভাবে খারাপ ডেটা কাজ করতে চান তা বোঝায় whatever