আমার কাছে একটি এসকিউএল সার্ভার 2012 ডাটাবেস এবং 3 মিলিয়ন সারি এবং সম্ভবত 50 টি কলাম সহ একটি টেবিল থাকবে। অপ্রচলিত ব্যাকগ্রাউন্ড। নেট প্রক্রিয়াটি (সম্ভবত কিছু এসকিউএল বা পাওয়ারশেল কমান্ড জারি করে) কোনও পাঠ্য ফাইলে রফতানি করার জন্য দ্রুততম উপায় কী হবে, ডাটাগুলির প্রতিটি সারির জন্য একটি লাইন? .NET প্রক্রিয়াটি কখন রফতানি শেষ হয়েছে বা কোনও ত্রুটি ছিল কিনা তা জানতে হবে। ডেটাটাইপ সব হবে int
বা nvarchar
।
আমি ধরে নিচ্ছি যে একটি select *
কমান্ড কার্যকর করতে অ্যাডো নেট ব্যবহার করে একটি খাঁটি সি # কোড এবং ডেটারিডারের উপরে লুপিং এবং প্রতিটি রেকর্ডের জন্য একটি ফাইলে লেখার কাজটি ধীর হবে এবং এর সাথে আমি এর সমান্তরাল করার উপায় নেই।
আদর্শভাবে রফতানিটি এসএমএল সার্ভার মেশিনে কোনও স্থানীয় ফোল্ডারে নয় একটি দূরবর্তী শেয়ার্ড নেটওয়ার্ক ফোল্ডারে হবে। এসকিউএল সার্ভারটি এইচএ ক্লাস্টার হবে। এসএসআইএস কি এর জন্য আরও উপযুক্ত, কোনও ডেটা ট্রান্সফর্মেশন প্রয়োজন?
। নেট প্রক্রিয়াটি মেশিন এ, মেশিন বিতে এসকিউএল সার্ভারে চলবে এবং চূড়ান্ত ফাইল গন্তব্য একটি নেটওয়ার্ক শেয়ার। এর একটি বিকল্প হ'ল এসকিউএল সার্ভার ফাইলটি সরাসরি নেটওয়ার্ক শেয়ারে লিখে। অন্য বিকল্পটি হ'ল এসকিউএল সার্ভার মেশিন এ লিখেছেন এবং তারপরে ফাইলটি লেখার সময়। নেট প্রক্রিয়া এটিকে নেটওয়ার্ক শেয়ারে অনুলিপি করে। আমার কাছে আনুষ্ঠানিক এসএলএ নেই তবে 30 মিনিট - ফাইলের লেখার জন্য 1 ঘন্টা আশা করছি।
"Ideally the export will be to a remote shared network folder and not a local folder on the SQL Server machine."
- নেট অ্যাপটি কোথা থেকে চলবে? সবচেয়ে খারাপ ক্ষেত্রে, এর অর্থ এই হতে পারে যে ডেটাটিকে 2 টি নেটওয়ার্ক হপের মধ্য দিয়ে যেতে হবে, এটি সম্ভবত সবচেয়ে বড় বাধা। এছাড়াও, সারিগুলির সংখ্যা কিছুটা অপ্রাসঙ্গিক - আনুমানিক মোট ডেটার আকার কত? এই প্রক্রিয়াটির জন্য আপনার কি কোনও পারফরম্যান্স এসএলএ পূরণ করতে হবে?