এসকিউএল সার্ভারের পূর্ববর্তী সংস্করণে ডেটা আনার জন্য এবং আরডিএস থেকে ডেটা টানানোর জন্য আমি বিসিপিকে কয়েকটি সরঞ্জামের চেয়ে কার্যকর বলে মনে করেছি। (ধন্যবাদ @ivan_posdeev।)
আমি প্রথমে এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও, টাস্কস, স্ক্রিপ্টগুলি জেনারেট করে ডাটাবেসে ডান-ক্লিক করে স্কিমা তৈরি করি। সমস্ত বস্তুতে টিক দিন, উন্নত অবজেক্টগুলিতে আপনার প্রয়োজনীয় সমস্ত কিছু স্ক্রিপ্ট করা হবে তা নিশ্চিত করুন (পরিসংখ্যান, সূচিপত্র ইত্যাদি), আপনার গন্তব্য ডাটাবেসের আলাদা নাম রয়েছে, আপনার গন্তব্য ডাটাবেস সংস্করণে সামঞ্জস্যতা সেট করুন এবং একটি উত্পন্ন করুন আপনার স্কিমা তৈরি করে এমন ফাইল। আপনার গন্তব্য সম্বন্ধে একটি ডাটাবেস তৈরি করুন এবং (ব্যবহার করে এটি উপর এই ফাইলটি রান osql
, sqlcmd
বা গুই)।
ডেটা স্থানান্তর করতে, নিম্নলিখিত কোয়েরি চালানো দুইবার উপর উৎস , ডাটাবেজ প্রথম, নির্যাস ডেটাতে ব্যাচ ফাইল জেনারেট করতে দ্বিতীয় কলামে মন্তব্য তারপর প্রথম কলামে মন্তব্য আপনার গন্তব্য চালানোর আমদানি ব্যাচ ফাইল তৈরি করতে। (আপনাকে আপনার উত্স এবং গন্তব্য সার্ভার, উদাহরণস্বরূপ নাম, আউটপুট এবং ইনপুট ফাইল ডিরেক্টরিগুলি, ব্যবহারকারীর নাম এবং পাসওয়ার্ড যুক্ত করতে হবে integrated সংহত সুরক্ষা ব্যবহার করার জন্য -U
এবং -P
বিকল্পগুলির সাথে প্রতিস্থাপন করুন -T
))
এটি ইউনিকোড সমর্থন করে, যদি আপনার এটির প্রয়োজন না -N
হয় তবে উভয় বিবৃতিতে স্যুইচ পরিবর্তন করুন -n
।
SELECT
'bcp SOURCEDATABASE.' + s.Name + '.' + t.NAME + ' out d:\dbdump\' + s.Name + '.' + t.NAME + '.dat -N -S SOURCESERVER\INSTANCE -UUSER -PPASSWORD'
-- 'bcp DESTINATIONDATASE.' + s.Name + '.' + t.NAME + ' in d:\dbdump\' + s.Name + '.' + t.NAME + '.dat -N -S DESTINATIONSERVER\INSTANCE -UUSER -PPASSWORD -E -h TABLOCK -b 1000 -e d:\dbdump\' + s.Name + '.' + t.NAME + '.ERRORS.dat'
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
LEFT OUTER JOIN
sys.schemas s ON t.schema_id = s.schema_id
ORDER BY
s.Name, t.NAME
স্কিমা.ট্যাবলেমন.আরআরআরএস.ড্যাট নামের চেক ফাইলগুলি চালনার পরে - ব্যর্থ হওয়া যে কোনও সারি অন্তর্ভুক্ত থাকবে, যদি কিছুই না করে খালি হয়।
এখানে বিসিপির জন্য এমএসডিএন রেফারেন্স , এখানে বিসিপি বিকল্পগুলির আরও বন্ধুত্বপূর্ণ পদচারনা ।
স্ক্রিপ্টগুলি তৈরি করার এবং আমি চেষ্টা করেছি এমন যে কোনও সরঞ্জামের চেয়ে আমি এটিকে আরও দুর্দান্ত superior এটি আরডিএস ডাটাবেসেও চালিত হয় (যা ব্যাকআপের অনুমতি দেয় না)। উত্পন্ন ডেটা ফাইলগুলি এসকিউএল স্ক্রিপ্টগুলির 30% আকারের, এগুলি চালানো সময়ের একটি অংশ গ্রহণ করে এবং এটি অনেক বেশি নির্ভরযোগ্য। (স্ক্রিপ্টিং ডেটার জন্য এসকিউএল সার্ভারের দ্বারা উত্পাদিত স্ক্রিপ্টগুলি সর্বদা ট্রিপ আপ হয়ে যায়, কখনও কখনও অনুমানযোগ্য কখনও কখনও হয় না, উত্পাদিত এসকিউএল 2008 আর 2 এর সাথে সামঞ্জস্যপূর্ণ ছিল না (উদাহরণস্বরূপ, ব্যবহৃত nvarchar(0)
, প্রায়শই কোনও বোধগম্য কারণে সম্পূর্ণ হয় না, ইত্যাদি) বিসিপিও কোনও বাধা লঙ্ঘনের প্রতিলিপি তোলে যেমন রেফারেন্সিয়াল অখণ্ডতা))।