সান পুনরুদ্ধার এবং মাইগ্রেশনগুলির কারণে আমি প্রায় অবিচ্ছিন্নভাবে ডাটাবেসগুলি সরিয়ে নিয়েছিলাম।
ধরে নিই যে আপনি একবারে পুরো সার্ভারটি চালাচ্ছেন, আমি আপনার পথ # 2 এর মতো কিছু নিয়ে যাব। (যদি আপনি একবারে একটি করে ডাটাবেস সরিয়ে নিয়ে যাচ্ছেন এবং শেষ পর্যন্ত কোনও সার্ভারে প্রতিটি ডাটাবেস করে থাকেন তবে এটি আরও সমস্যাযুক্ত হবে যেহেতু আপনাকে ফাইলগুলিতে পাথ পরিবর্তন করতে হবে))
মনে রাখবেন যে "একক_ ব্যবহারকারী" এর অর্থ আপনার প্রয়োজন নয়। আপনি একটি ডাটাবেস ডিবিসিসি চেকডিবির কাছে যেতে পারেন এবং কেউ ইতিমধ্যে সেখানে রয়েছেন বলে প্রবেশ করতে পারবেন না। একটি স্ক্রিপ্ট প্রস্তুত করুন যা আপনি "প্রত্যেককে কিন্তু আপনি" কে একটি ডেটাবেস থেকে বুট করতে এবং চালিত জায়গায় রেখে যেতে পারেন। নোট করুন যে এসকিউএল 2000 এর আরও আধুনিক সংস্করণগুলির মতো বৈশিষ্ট্যগুলি "সবাইকে আউট রাখুন" নেই।
একটি পুরানো কৌশল হ'ল এসকিউএল সার্ভার পরিষেবাটি বিরতি দেওয়া। এটি নতুন লগইনগুলিকে প্রতিরোধ করবে, তবে যে কেউ ইতিমধ্যে সংযুক্ত রয়েছে তারা যথারীতি চালিয়ে যেতে পারে। সুতরাং: একটি এসএসএমএস উইন্ডোটির মাধ্যমে সংযুক্ত করুন যাতে আপনি কাজ করতে পারেন, তারপরে পরিষেবাটি বিরতি দিন, তারপর অনাকাঙ্ক্ষিত সংযোগগুলি সরিয়ে ফেলুন, এসএসএমএস কমান্ড উইন্ডোর মাধ্যমে আপনার কাজটি করুন (জিইউআই নয়, এটি প্রচুর সংযোগ তৈরি করে এবং বিরতি দেয়) এবং তারপরে বিরতি দিন সেবা. সতর্কতা: আমি নিশ্চিত না যে এটি একটি ক্লাস্টারে কীভাবে খেলবে। এটি ব্যর্থ হতে পারে।
আপনি নিজের কাজ শেষ না করা পর্যন্ত সমস্ত অ্যাপ ব্যবহারকারীদের একটি সার্ভার থেকে দূরে রাখার উপায় থাকা সহজ। অন্যথায়, আপনি যখন কিছু করার চেষ্টা করছেন তখন সংযোগগুলি পপআপ শুরু করতে পারে, যা সংস্থানগুলি এবং / অথবা আস্তে বাড়ে। আমি অতীতে নীচের পদ্ধতিগুলি ব্যবহার করেছি, যথাযথ পরিস্থিতির উপর নির্ভর করে: অ্যাপ্লিকেশন সার্ভারটি বন্ধ করে দেওয়া (ডি) ALTER DATABASE এর ব্যবহার .. সেট করুন রেজিস্ট্রিট ডিউসার (যদি অ্যাপ্লিকেশন অ্যাকাউন্টগুলি db_owner, sysadmin বা dbcreator এর ভূমিকা থাকে তবে সমস্যা)। ) ব্যবহারকারীদের জানাতে যে রবিবার সকালে মত কিছু নির্দিষ্ট সময়ে সিস্টেমটি অফলাইন থাকবে। (এটি "সত্যিকারের" 24x7 পরিবেশে কাজ করবে না)) অ্যাপ্লিকেশন সার্ভার বা ব্যবহারকারীদের মুখোমুখি এনআইসি আনপ্লাগিং। (এই ক্ষেত্রে, আমি কেবলমাত্র প্রশাসক-কেবল নেটওয়ার্কে বা আইএলও-এর মাধ্যমে সংযুক্ত অন্য একটি এনআইসি-এর মাধ্যমে প্রবেশ করতে পারি))
বিপুল সংখ্যক ডাটাবেস আলাদা করা এবং সেগুলি পুনরায় সংযুক্ত করা অনেক কাজ হতে পারে। যদি আপনি এটি করেন তবে নিশ্চিত হয়ে নিন যে আপনার "সংযুক্তি" স্ক্রিপ্টটি আগে লেখা আছে।
এসকিউএল সার্ভারটি থামানো, সমস্ত কিছু অনুলিপি করা, ড্রাইভের অক্ষর পরিবর্তন করা এবং এসকিউএল সার্ভার শুরু করার প্রচুর সাফল্য পেয়েছি। কোনও বিচ্ছিন্নতা / সংযুক্তি নেই। যতক্ষণ এসকিউএল সার্ভার বন্ধ থাকে এবং আপনি ফাইলগুলি অনুলিপি করছেন (মোভিং নয়) ততক্ষণ আপনি সিস্টেম ডেটাবেসগুলি সরিয়ে নিলেও আপনি খুব বেশি সমস্যায় পড়তে পারবেন না। যেহেতু পাথগুলি একই, তাই এসকিউএল সার্ভার উপলব্ধ ছিল না যে পরিষেবাটি বন্ধ থাকাকালীন কোনও পরিবর্তন হয়েছে। কেবলমাত্র নিশ্চিত হয়ে নিন যে আপনি ড্রাইভের অক্ষরগুলি সঠিক ভলিউমের দিকে নির্দেশ করেছেন বা জিনিসগুলি আপনার পক্ষে খারাপ হবে।
আমার সবচেয়ে ঘন ঘন সমস্যাটি ফাইল ডিরেক্টরিতে এসিএলগুলি সঠিকভাবে না পাওয়াই ছিল। SQL সার্ভার আরো আধুনিক সংস্করণ সেটিং এ আরও ভাল হয় শুধু যে অনুমতিগুলি পরিষেবা অ্যাকাউন্ট চাহিদা পুরোনো সংস্করণগুলি যখন কম ব্যস্তবাগীশ বলে মনে হচ্ছে। আপনি যদি এসিএল সেট করতে ভুলে যান এবং পরিষেবা অ্যাকাউন্টটি স্থানীয় প্রশাসক না হয় (আমি এটির প্রস্তাব দিই না), উদাহরণটি শুরু হওয়ার পরে এক বা একাধিক ডাটাবেস খুলতে পারে না। আতঙ্কিত হবেন না, কেবল এসিএলগুলি পরিবর্তন করুন এবং ডেটাবেস সংযুক্ত করুন।
আমি এই ধরণের কাজ করতে সাধারণত রবোকপি ব্যবহার করি। এসিএল সংরক্ষণের জন্য একটি কমান্ড লাইন সুইচ রয়েছে।
সিআরসি গণনা / যাচাইকরণ ব্যবহার করা কোনও খারাপ ধারণা নয়, তবে আমি এটি কখনও করিনি। যখন ডাটাবেসগুলি ফিরে আসে, আমি তাদের সকলের উপর CHECKDB () চালাই। আমি কোনও রক্ষণাবেক্ষণের কাজটি নিজে হাতে লাথি মারার পরিবর্তে এই সময়ের জন্য সাধারণত একটি স্ক্রিপ্ট প্রস্তুত করব। এইভাবে, আমি একটি বৃহত ডাটাবেস যাচাই করতে কয়েক মিনিট বা ঘন্টা সময় নিতে পারে তা চেক করার আগে প্রথমে বেশ কয়েকটি ছোট ডাটাবেস চেক করতে পারি। আমি সন্দেহ করি যে কোনও সিআরসি চেক (বা একটি রেডগেট ডেটা তুলনা সরঞ্জাম) এমন কিছু খুঁজে পাবে যা CHECKDB () মিস করবে এবং যদি এটি এসকিউএল সার্ভার না করে তবে এটি ঠিক করতে সক্ষম হবে না।
আমি ফাইলগুলি অনুলিপি করার পরে, তবে ইনস্ট্যান্সটি পুনরায় চালু করার আগে, আমি গিয়ে ফোল্ডারের একটির নাম পরিবর্তন করে ওএলডি ফোল্ডারগুলির ফাইলপথটি সামান্য পরিবর্তন করব। এটি "ওফ্সের বিরুদ্ধে একটি অতিরিক্ত চেক, সার্ভারটি এখনও পুরানো ফাইলগুলির দিকে ইঙ্গিত করছে" সমস্যার।
পুরানো ফাইলগুলি ফেলে দেওয়ার এবং পুরাতন স্টোরেজে জায়গা পুনরুদ্ধার করার তাগিদে হবেন না এবং আপনার পুরো ব্যাকআপগুলি সফলভাবে চলেছে কিনা ডাবল নিশ্চিত করুন। সেই ব্যাকআপগুলির বেশ কয়েকটিকে অন্য কোথাও পুনরুদ্ধার করুন Test একবার আপনার ভাল চেকডিবি () রান এবং ভাল পূর্ণ ব্যাকআপ হয়ে গেলে আপনি সেই পুরানো স্টোরেজটি বাদ দিয়ে বাম দিকের অংশটি বন্ধ করে দেওয়ার বিষয়ে ভাবতে পারেন।
এই মাইগ্রেশনগুলির সাথে আমার সবচেয়ে খারাপ সমস্যাগুলি হয়েছিল আমার মনে হয়েছিল যে আমার কাজ শেষ হয়ে গেছে। এটি সান প্রশাসক আমাকে বলবে যে কিছু ঘটেছে এবং আমার ফাইল সিস্টেমগুলি স্ক্র্যাম্বল হয়েছে। (প্রতিলিপি, পুনরায় ফর্ম্যাট করা, আবার অনুলিপি করা হয়েছে।)
আর একটি মজাদার সমস্যা হ'ল SAN কোনও আপাত কারণ ছাড়াই ধীর হচ্ছে। আপনি যদি ভাবেন যে আপনার ডেটা অনুলিপি করতে 10 ঘন্টা সময় লাগবে এবং আপনি 9 ঘন্টা নম্বরে 30% অনুলিপি করেছেন, আপনার সমস্যা আছে। স্থানান্তর সময়গুলি দেখুন (রোবোকপি% অনুলিপি করে এবং সময়ের অনুমান দেয়, বা আপনি পারফমন ব্যবহার করতে পারেন) এবং যদি কিছু খারাপ হয়ে যায় তবে ফ্যালব্যাক পরিকল্পনা করুন।
এছাড়াও, আমি নিশ্চিত নই যে আপনার খণ্ডগুলি আপনার জন্য ভাগ করা হবে কিনা তবে আপনি নিশ্চিত হতে পারেন যে তারা 1 এমবি অফসেট ব্যবহার করছে। উইন্ডোজ সার্ভার 2008 এবং আরও ভাল, এটি কোনও সমস্যা হওয়া উচিত নয়। পুরানো ওএসে, এটি। এটিতে এক টন গুগলেবল স্টাফ রয়েছে এবং আপনার স্টোরেজ ছেলেদের এটি সম্পর্কে জানা উচিত, তবে আমি জিজ্ঞাসা করব।