এসকিউএল সার্ভার ২০০৮ থেকে ২০০ 2005 অবধি ডাউনড্রেডিং


32

এসকিউএল 2008 ব্যবহার করে নির্মিত ডেটাবেস ফাইলগুলি 2005 এর সাথে তুলনামূলক নয় around এখানে কি কোনও কাজ আছে?


সার্ভার লগইনগুলি রফতানি করতে ভুলবেন না।
স্ট্যানলি জনস

এটি কি কারণ আপনি ২০০৮ সালে বিকাশ করছেন কিন্তু আপনার প্রোডাকশন সার্ভারগুলি এখনও ২০০৫ সালে রয়েছে? আপনার প্রদত্ত যে কোনও সমাধান একই সাথে আপনার জীবনকে দুর্বিষহ করে তুলতে অনিবার্য কারণ হতে পারে, কারণ আপনি সম্ভবত নিয়মিতভাবে এই ডাউনগ্রেডগুলি শেষ করবেন likely
ডেটাগোড

উত্তর:


16

কোনও তৃতীয় পক্ষের সরঞ্জাম প্রয়োজন। এসকিউএল সার্ভার ২০০৮ ম্যানেজমেন্ট স্টুডিও আমাদের একটি ডেটাবেস ডাউন-রূপান্তর করার জন্য একটি খুব শক্তিশালী সরঞ্জাম দিয়েছে কারণ তারা "স্ক্রিপ্ট ডেটা" উইজার্ডটিতে একটি "স্ক্রিপ্ট ডেটা" বিকল্প যুক্ত করেছে।

এসকিউএল ২০০৮ এসএসএমএস-এ কেবলমাত্র ডিবি-তে ডান ক্লিক করুন, এবং কার্যগুলিতে যান, তারপরে "স্ক্রিপ্টগুলি তৈরি করুন"

উইজার্ডের মধ্য দিয়ে চলুন, সারণী / দর্শন বিকল্পের নীচে "স্ক্রিপ্ট ডেটা" এর জন্য "ট্রু" চয়ন করতে ভুলবেন না। সমস্ত অবজেক্ট চয়ন করুন, তারপরে এটি 2005 সার্ভারে তৈরি হওয়া স্ক্রিপ্টটি চালান। (দয়া করে মনে রাখবেন যে মূল ডাটাবেসটি খুব বড় হলে তৈরি করা স্ক্রিপ্টটি বিশাল হতে পারে !)

মনে রাখবেন যে আপনি কোনও এসকিউএল ২০০৫ সার্ভারের বিপরীতে উইজার্ডটি চালাতে পারেন কোনও এসকিউএল ২০০৫ ডাটাবেসকে এসকিউএল 2000 এ ডাউন-রূপান্তর করতে (অবশ্যই আপনার ওয়ার্কস্টেশনে 2008 টি সরঞ্জাম ইনস্টল করা দরকার)।


4
কোনও অপরাধ নয়, তবে ডাটাবেস বড় হলে এটি সমাধান হতে পারে না। কয়েক মিলিয়ন সারি সহ কোনও টেবিলে সেই কৌশলটি ব্যবহার করে দেখুন (এবং ভার্চরকে (সর্বাধিক) একক কলামের ডেটা ধরণ হিসাবে মনে করুন) এবং যদি ম্যানেজমেন্ট স্টুডিও এই ফাইলটি খোলার এবং পার্স করতে সক্ষম হয় তবে আপনি খুশি হবেন, তবে আমি নিশ্চিত এটি খুলবে না, এটি ক্রাশ হবে। দুঃখিত, তবে এটি এই সমস্যার সমাধান নয়, যদি ডিবি সত্যই ছোট হয়।
মেরিয়ান

3
অবশ্যই, ডিবি যদি খুব বড় হয় তবে কেবল ডাটাবেস কাঠামোটি স্ক্রিপ্ট করে ফেলুন, তারপরে ডেটাটি এগিয়ে নিতে আপনার পছন্দসই পদ্ধতিটি (এসএসআইএস, বিসিপি, আমদানি উইজার্ড) ব্যবহার করুন।
ব্র্যাডিসি

এসএসএমএস ১১.০ তে কাঠামোর পাশাপাশি ডেটা স্ক্রিপ্ট করার কোনও বিকল্প নেই বলে মনে হয়। i.imgur.com/SGkG8oZ.png
jcollum

আহ ঠিক আছে এটি এখন "স্ক্রিপ্টে ডেটা প্রকারের" নীচে রয়েছে সারণী / দেখুন বিকল্পগুলির ঠিক উপরে
jcollum

16

আপনি একটি এসকিউএল সার্ভার উদাহরণ থেকে অন্য একটি উদাহরণে ডেটা বিসিপি করতে পারেন। এটি এক সংস্করণ থেকে অন্য সংস্করণে অনুলিপি করার দ্রুততম উপায়। ডেটার পরিমাণের উপর নির্ভর করে, এটি একটি দীর্ঘ সময় নিতে পারে।


2
তথ্য ভলিউম উপর নির্ভর করে এটা প্রায় সবসময় একটি দীর্ঘ সময় লাগবে
jcolebrand

হ্যাঁ, এটা নিশ্চিত। একটি বড় ডাটাবেস এসকিউএল সার্ভারের পুরানো সংস্করণে স্থানান্তর করা কোনও সহজ কাজ নয়।
mrdenny

2
বিসিপির উলটো দিকটি এটি স্ক্রিপ্ট ডেটা ব্যবহারের চেয়ে দ্রুত হতে চলেছে। হ্যাঁ, এটি ধীর, তবে এটি অনেক বিকল্পের চেয়ে দ্রুত।
যিরমিয় পেশক্কা

15

দুর্ভাগ্যক্রমে ২০০ D এর ফর্ম্যাট থেকে ডিবি ডাউনগ্রেড করার কোনও প্রত্যক্ষ উপায় নেই।

অতীতে আমি যেভাবে এটি করেছি (আসলে এসকিউএল সার্ভারের পুরানো সংস্করণ সহ, তবে প্রক্রিয়াটি একই হবে):

  1. ইতিমধ্যে সম্পন্ন না হলে একটি এসকিউএল ২০০8 উদাহরণে ডিবি পুনরুদ্ধার করুন
  2. একটি এসকিউএল ২০০৫ উদাহরণে সঠিক কাঠামোগুলি (টেবিল, সূচি, সীমাবদ্ধতা, দর্শন, প্রোকস, ট্রিগার, ...) দিয়ে একটি খালি ডিবি তৈরি করুন। আশা করি আপনি এটি আপনার বিদ্যমান বিল্ড পদ্ধতি এবং / অথবা উত্স কোড থেকে করতে পারেন, তবে তা না পারলে 2005 ডিবি-র সমস্ত কিছুর জন্য স্ক্রিপ্ট তৈরি করতে এসকিউএল সার্ভার ম্যানেজার ব্যবহার করতে পারেন এবং ফলাফলটি ফাঁকা একটিতে চালাতে পারেন ২০০৮ সালের উদাহরণে।
  3. নিশ্চিত করুন যে দুটি দৃষ্টান্ত একে অপরকে দেখতে পাবে (যেমন কোনও ফায়ারওয়াল সংযোগগুলি ব্লক করে না যদি সংযোগগুলি বিভিন্ন মেশিনে থাকে তবে) এবং এগুলি sp_addlinkedserver ব্যবহার করে লিঙ্ক করুন ।
  4. একটি ডিবি থেকে অন্যটিতে সমস্ত ডেটা অনুলিপি করুন। যদি কোনও বিদেশী কী বাধা এবং এই জাতীয় উদ্বেগ নিয়ে উদ্বেগ প্রকাশ করার অনুরূপ সমস্যা না থাকে তবে আপনি কেবলমাত্র ডিবিগুলি একসাথে সংযুক্ত করতে পারেন এবং সারণীগুলির তালিকাটির মাধ্যমে কার্সার (সিএস.ওবজেক্টগুলি থেকে তাদের নির্বাচন করে) এবং চলতে পারেন
    INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
    (বা INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.tableযদি আপনি উদাহরণগুলি সংযুক্ত করে থাকেন তবে )
    প্রতিটি টেবিলের জন্য। আপনার যদি আন্তঃ-টেবিলের ধারাবাহিকতা প্রয়োগের সীমাবদ্ধতা এবং ট্রিগারগুলি থাকে তবে অবশ্যই এই ক্রিয়াকলাপগুলির ক্রম সম্পর্কে কিছুটা চতুর হওয়া দরকার, বিশেষত যদি আপনার নিজের উপর ভিত্তি করে একটি সীমাবদ্ধতার সাথে একটি টেবিলের মতো চক্রীয় বাধা থাকে (একটি হায়ারার্কি হোল্ড করে থাকে) ডেটা, একটি সম্ভাব্য উদাহরণ হিসাবে)।

প্রথম পদক্ষেপটি কেবল অনুলিপি করা এবং দ্বিতীয় ধাপের পরে অন্য সমস্ত কাঠামো (সূচী, প্রক্স, ট্রিগার, ...) যুক্ত করা আরও দক্ষ হতে পারে const এটি সীমাবদ্ধতা এবং ট্রিগারগুলির কারণে সৃষ্ট ক্রম সারণী সন্নিবেশকে এড়ানো এবং সূচীগুলি তৈরি করতে এড়ানো যায় তাত্ত্বিকভাবে সমস্ত ডেটা যুক্ত হওয়ার সাথে সাথে এগুলি তৈরি করার চেয়ে দ্রুত হওয়া উচিত - যদিও আপনার টেবিলগুলিতে কোনও ক্লাস্টারযুক্ত সূচি থাকলে ডেটা যুক্ত করার আগে এগুলি তৈরি করুন কারণ সত্যের পরে তৈরি করা তত দ্রুত হবে না।

অবশ্যই এটি সমস্তই ধরে নিয়েছে যে আপনার কোনও অবজেক্ট এসকিউএল ২০০৮ নির্দিষ্ট বৈশিষ্ট্য ব্যবহার করে না - যদি সেগুলি করে তবে আপনি যখন স্কিমাটি পুনর্নির্মাণের সময় জিনিসগুলি ত্রুটিযুক্ত হয়েছিলেন তখন আপনি আশাবাদী এই জাতীয় জিনিসগুলি সন্ধান করতে এবং ঠিক করতে পারবেন। যদি আপনার কোনও কোড আনুষ্ঠানিকভাবে অপরিজ্ঞিত আচরণের উপর নির্ভর করে যা এসকিউএল সার্ভার সংস্করণগুলির মধ্যে পরিবর্তিত হয় তবে আপনার পরে আরও কিছু সূক্ষ্ম এবং অধরা বাগ থাকতে পারে এবং পরে খুঁজে বের করতে পারেন।


1
-1 কারণ বিসিপির পছন্দগুলির তুলনায় এটি আসলে অদক্ষ (থেকে * নির্বাচন করুন)।
jcolebrand

@ Jcolebrand দক্ষতার জন্য যথেষ্ট মেলা। যদিও কৌশলটি আমার একটি কাজ ছিল।
ডেভিড স্পিলিট

এটি একটি সুষ্ঠু ব্যবস্থা, আমি কেবল ভেবেছিলাম ভবিষ্যতের পাঠকদের জন্য আমি এখানে অন্তর্ভুক্ত করব। এটি আপাতত আপত্তি পেয়েছে এটি কোনও সমস্যা না হওয়ার জন্য। ;)
jcolebrand

7

আমি অনুরূপ পরিস্থিতির মুখোমুখি হয়েছি এবং এসকিউএল সার্ভার ২০০৮ ডাটাবেস থেকে এসকিউএল সার্ভার ২০০৫ এর জন্য স্ক্রিপ্ট স্কিমা এবং ডেটাতে ডেটাবেস প্রকাশনা উইজার্ড ব্যবহার করেছি।

এসকিউএল সার্ভার হোস্টিং ওয়েব পরিষেবা (এবং সরঞ্জামকিট)

ডাটাবেস প্রকাশনা উইজার্ড


1

আপনাকে প্রথমে ডাটাবেস স্ক্রিপ্ট করতে হবে এবং আপনি যে ধরণের গ্রেড নামাতে চান তা যে সংস্করণটি উল্লেখ করেছেন তা নিশ্চিত করতে হবে। এবং উচ্চ সংস্করণ থেকে নিম্ন সংস্করণে এসকিউএল ডেটা তুলনা করে ডেটা অনুলিপি করা আপনার জন্য কৌশলটি করবে।

শুভকামনা!

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