ব্যাকআপ ইন্টার্নাল - এসকিউএল সার্ভারে লকিং এবং কর্মক্ষমতা ওভারহেডের ক্ষেত্রে কোনও ব্যাকআপ কাজ চললে কী ঘটে?


13

মাইএসকিউএলের জন্য আমি জানি ডেটাবেসটি এসকিউএল স্টেটমেন্টে টেবিলের সাহায্যে টেবিল ব্যাক আপ হয়ে গেছে, এর ফলে লক হয়ে যায় এবং ব্যাক আপ করার সময় আপনি যদি কলামগুলি আপডেট করেন তবে আপনি অখণ্ডতার সমস্যা হতে পারেন।

আমার বোঝার জন্য এটি মাইক্রোসফ্ট এসকিউএল সার্ভারের জন্য প্রযোজ্য নয়, তবে কীভাবে এসকিউএল সার্ভার এটি পরিচালনা করে? ডিবি ধারাবাহিক রাখতে কিছু অভ্যন্তরীণ স্থিরতা আছে কি?

এছাড়াও আমি শুনেছি যে ব্যাক আপটি একক থ্রেডেড অর্থ এটি একটি মাত্র কোর ব্যবহার করে, আপনাকে একক ফাইলে ব্যাকআপ গ্রহণ করে। এছাড়াও ধরে নিচ্ছেন আপনার কাছে মাল্টিকোর মেশিন রয়েছে, উদাহরণস্বরূপ 16 টি কোর বা কমপক্ষে একটির চেয়ে উল্লেখযোগ্য বড় সংখ্যা।

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

সুতরাং যখন ব্যাকআপ কাজ চলছে তখন কি হবে? এবং এছাড়াও বিভিন্ন সংস্করণের জন্য উল্লেখযোগ্য পার্থক্য আছে? উদাহরণস্বরূপ 2008,2012 এবং 2014 (লাইসেন্সগুলি নয়)।


উত্তর:


9

আপনার সমস্ত পয়েন্ট ব্যাকআপ পৌরাণিক কাহিনীতে আচ্ছাদিত - পল র্যান্ডাল দ্বারা

30-01) ব্যাকআপ ক্রিয়াকলাপগুলি ব্লক করার কারণ

নং। ব্যাকআপ অপারেশনগুলি ব্যবহারকারীর সামগ্রীতে লক নেয় না । ব্যাকআপগুলি আই / ও সাবসিস্টেমের উপর একটি ভারী রিড বোঝার কারণ ঘটায় যাতে দেখে মনে হয় যে কাজের চাপটি অবরুদ্ধ করা হচ্ছে, তবে এটি আসলে তা নয়। এটি স্লো হচ্ছে। একটি বিশেষ কেস রয়েছে যেখানে বাল্ক-লগড এক্সটেন্টসগুলি গ্রহণ করতে ব্যাকআপে একটি ফাইল লক নেবে যা চেকপয়েন্ট অপারেশনকে আটকাতে পারে - তবে ডিএমএল কখনও অবরুদ্ধ থাকে না।

এছাড়াও আমি শুনেছি যে ব্যাক আপটি একক থ্রেডেড অর্থ এটি একটি মাত্র কোর ব্যবহার করে, আপনাকে একক ফাইলে ব্যাকআপ গ্রহণ করে।

একটি একক ফাইল বা ডিভাইসে সম্পন্ন হওয়ার পরে একটি ব্যাকআপ 1 টি লেখক থ্রেড ব্যবহার করবে। সুতরাং আপনি যদি একাধিক ফাইল / ডিভাইসগুলিতে ব্যাক আপ নিচ্ছেন (তবে এটি একাধিক .bak ফাইল হতে পারে) প্রতি ফাইল / ডিভাইসে এক লেখক থ্রেড থাকবে।

ব্যাকআপ কর্মক্ষমতা উন্নত করার সহজতম উপায় হ'ল ব্যাকআপ ক্রিয়াকে সমান্তরাল করে দেওয়া, যা ব্যাকআপ স্ট্রিপিং নামে পরিচিত। ডিফল্টরূপে, প্রতিটি ড্রাইভ চিঠি বা মাউন্ট পয়েন্ট থেকে পড়ার জন্য একটি একক ডেটা রিডার থ্রেড এবং প্রতিটি ব্যাকআপ ডিভাইসে লিখিত হওয়ার জন্য একটি একক ডেটা রাইটার থ্রেড রয়েছে।

চেক

  1. এসকিউএল সার্ভার ২০০৮ মাইক্রোসফ্ট সার্টিফাইড মাস্টার (এমসিএম) প্রস্তুতি ভিডিও বিশেষত ব্যাকআপ ইন্টারনাল Intern
  2. ব্যাকআপ অভ্যন্তরীণ এবং কীভাবে ব্যাকআপ ট্র্যাক করবেন এবং থ্রুপুট পুনরুদ্ধার করুন (পর্ব 1) - জোনাথন কেহিয়াস লিখেছেন
  3. ব্যাকআপ অভ্যন্তরীণ এবং কীভাবে ব্যাকআপ ট্র্যাক করবেন এবং থ্রুপুট পুনরুদ্ধার করবেন (পর্ব 2) - জনাথন কেহিয়াস লিখেছেন

7

ব্যাকআপ ইন্টার্নাল সম্পর্কিত পলের লেখা নিবন্ধটি দুর্দান্ত এবং আপনার এটি অবশ্যই পড়তে হবে। অন্যরা যা বলেছে তাতে যুক্ত করা এবং আপনার প্রশ্নের নির্দিষ্ট অংশে জোর দেওয়া

এছাড়াও আমি শুনেছি যে ব্যাক আপটি একক থ্রেডেড অর্থ এটি একটি মাত্র কোর ব্যবহার করে, আপনাকে একক ফাইলে ব্যাকআপ গ্রহণ করে। এছাড়াও ধরে নিচ্ছেন আপনার কাছে মাল্টিকোর মেশিন রয়েছে, উদাহরণস্বরূপ 16 টি কোর বা কমপক্ষে একটির চেয়ে উল্লেখযোগ্য বড় সংখ্যা।

ব্যাকআপ অপারেশন can use parallelismকিন্তু মনে রাখবেন এটি এসকিউএল সার্ভারে অপ্টিমাইজার দ্বারা চালিত সমান্তরালতা নয় যা এর সাথে জড়িত ডিস্কের সংখ্যার দ্বারা পরিচালিত যেখানে ব্যাকআপটি ডেটা ফাইল পড়তে হয় এবং যেখানে ব্যাকআপ ডেটা ফাইল এবং তৈরি হওয়া ব্যাকআপ ফাইলের পরিমাণ লেখে।

MAXDOPএসকিউএল সার্ভারের ব্যাকআপ নেওয়ার সময় আপনি ইঙ্গিতটি ব্যবহার করতে পারবেন না

আপনি সাধারণ টিএসকিউএল ব্যাকআপ অপারেশনের জন্য এসএসএমএসে কার্যকরকরণ পরিকল্পনা তৈরি করতে পারবেন না।

এসকিউএল সার্ভারে ক্যোরি অপটিমাইজার দ্বারা চালিত সমান্তরালতা মূলত জড়িত অপারেটরদের জন্য (আসলে এটি আরও জটিল তবে সরলতার জন্য আপনি এটি নিতে পারেন) যেহেতু ব্যাকআপ অপারেশনটিতে কোনও অপারেটর জড়িত না কারণ এটি অপ্টিমাইজার দ্বারা চালিত সমান্তরালতা ব্যবহার করতে পারে না।

আমি ব্যাকআপ এবং সমান্তরালতা সম্পর্কে টেকনেট উইকিতে একটি নিবন্ধ লিখেছিলাম যেখানে এসকিউএল সার্ভার ব্যাকআপের সময় সমান্তরালতা ব্যাখ্যা করার জন্য আমি সাধারণ উদাহরণ ব্যবহার করেছি। নিম্নলিখিত উপসংহারে দেওয়া হয়

  1. ডাটাবেস ফাইলগুলি একাধিক ডিস্কে থাকলে ব্যাকআপ অপারেশন ডেটা ড্রাইভের জন্য থ্রেডে ডেটা পড়তে শুরু করে। একইভাবে পুনরুদ্ধার একাধিক ড্রাইভে / মাউন্ট পয়েন্টে করা হয়ে গেলে ব্যাকআপ অপারেশন প্রতি ড্রাইভ / মাউন্ট পয়েন্টের জন্য একটি থ্রেড শুরু করবে

  2. এমনকি যদি আপনি একই ড্রাইভে ব্যাকআপের একাধিক অনুলিপি ফেলে দিচ্ছেন তবে আমাদের প্রতি ব্যাকআপ ফাইলের একটি থ্রেড ডাম্প করা হবে।

  3. ব্যাকআপের সাথে সম্পর্কিত সমান্তরালতা স্ট্রাইপের সাথে সম্পর্কিত। প্রতিটি স্ট্রিপ তার নিজস্ব কর্মী থ্রেড পায় এবং এটি ব্যাকআপ / পুনরুদ্ধারের একমাত্র অংশ যা সমান্তরাল ক্রিয়াকলাপ হিসাবে বিবেচনা করা উচিত।

  4. প্যারালালিজমের সর্বাধিক ডিগ্রির ব্যাকআপ অপারেশনে কোনও প্রভাব নেই।

পল এবং বব ডর এর থেকে আমি এ সম্পর্কে কিছু বিশেষজ্ঞের মতামত পেয়েছি।

সুতরাং যখন ব্যাকআপ কাজ চলছে তখন কি হবে? এবং এছাড়াও বিভিন্ন সংস্করণের জন্য উল্লেখযোগ্য পার্থক্য আছে? উদাহরণস্বরূপ 2008,2012 এবং 2014 (লাইসেন্সগুলি নয়)।

আমি আপনাকে বব ডর দ্বারা এই blog.msdn নিবন্ধ পড়তে পরামর্শ দিচ্ছি । তিনি জোর দিয়েছিলেন কয়েকটি গুরুত্বপূর্ণ বিষয়

  1. যখন কোনও ব্যাকআপ শুরু হয় এটি বাফার পুলের বাইরে মেমরি থেকে বরাদ্দ করা একটি বাফারগুলির একটি সিরিজ তৈরি করে। লক্ষ্যটি সাধারণত প্রতিটি বাফারের জন্য 4MB হয় যার ফলস্বরূপ প্রায় 4 থেকে 8 বাফার হয়। গণনা সম্পর্কে বিশদগুলি এখানে অবস্থিত: http://support.microsoft.com/kb/904804/en-us

  2. বাফারগুলি ফ্রি এবং ডেটা সারিগুলির মধ্যে স্থানান্তরিত হয়। পাঠক একটি নিখরচায় বাফার টানেন, এটি ডেটা দিয়ে পূর্ণ করে এবং এটি ডেটার কাতারে রাখেন। লেখক (গুলি) ডেটা সারি থেকে ভরা তথ্য বাফারগুলি টানুন, বাফারটি প্রক্রিয়া করুন এবং এটিকে ফ্রি তালিকায় ফিরিয়ে দিন।

  3. আপনি ব্যাকআপ ডিভাইস প্রতি লেখক পাবেন, প্রতিটি ডাটা সারি থেকে উদ্ধার করে। সুতরাং ডিসি স্পেসিফিকেশন থেকে চার (4) সহ এএ ব্যাকআপ কমান্ডটিতে চারজন লেখক এবং একজন পাঠক থাকবে। পাঠক অ্যাসিঙ্ক আই / ও ব্যবহার করেন যাতে এটি লেখকদের সাথে তাল মিলিয়ে চলতে পারে।

আপনি সক্ষম করতে পারবেন trace flags 3213 and 3605, উভয়ই অননুমোদিত তাই পরীক্ষার পরিবেশে এটি ব্যবহার করুন এবং এসকিউএল সার্ভার ত্রুটিমুখে কী আকর্ষণীয় বার্তা ডাম্প করা হয়েছে তা দেখুন। নীচের মতো কিছু উপস্থিত হবে

Memory limit: 249MB
BufferCount:                7
Sets Of Buffers:            1
MaxTransferSize:            1024 KB
Min MaxTransferSize:        64 KB
Total buffer space:         7 MB
Tabular data device count:  1
Fulltext data device count: 0
Filestream device count:    0
TXF device count:           0
Filesystem i/o alignment:   512
Media Buffer count:            7
Media Buffer size:          1024KB

বিভিন্ন সংস্করণের জন্য ব্যাকআপ কোডে কোনও উল্লেখযোগ্য পরিবর্তন সম্পর্কে আমি সচেতন নই, এ জাতীয় জিনিস নথিভুক্ত নয়। আমি কেবলমাত্র SQL Server 2012 SP1 Cumulative Update 2,টিএসকিউএল বা এসএমও ব্যবহার করে এসকিউএল সার্ভার থেকে উইন্ডোজ অ্যাজুরি ব্লব স্টোরেজ পরিষেবাটি ব্যাকআপ সক্ষম এবং পুনরুদ্ধার সক্ষম করার ক্ষেত্রে প্রবর্তিত বিকাশ সম্পর্কে জানি। এখানে পড়ুন


4

মূলত, এসকিউএল সার্ভার ডিস্কের সমস্ত পৃষ্ঠার একটি নোংরা অনুলিপি করে। সাম্প্রতিক ক্রিয়াকলাপ থাকলে বা আগে যদি চেক-অবিচ্ছিন্ন কার্যকলাপ থাকে তবে সেই পৃষ্ঠাগুলি সম্ভবত বেমানান।

তারপরে, এসকিউএল সার্ভারও লেনদেন লগের প্রয়োজনীয় অংশটি অনুলিপি করে যা সর্বশেষ সংস্করণে তারিখের পাতাগুলি আনা এবং সমস্ত কিছু পুনরুদ্ধারে সামঞ্জস্য করার জন্য প্রয়োজনীয়।

আমি ব্যাকআপ অপারেশনের মাল্টি-থ্রেডনেসনে কথা বলতে পারি না। আমি এটি সমান্তরাল হবে আশা করি। আপনি কীভাবে 10 জিবি / সেকেন্ড আইও সাবসিস্টেমটিতে 10 টিবি ডাটাবেস ব্যাক আপ করতে পারেন?


উত্তরের জন্য আপনাকে ধন্যবাদ, তবে কিছু বিষয় পরিষ্কার নয়। যদি আমি ব্যাকআপ কাজের সময় সংশোধন মডেলটিকে সরল বা ছাঁটাইয়ের মতো স্টেটমেন্টগুলিতে চালিত করি তবে কী হবে। এর অর্থ এই নয় যে এসকিউএল সার্ভার এটিকে একটি ধারাবাহিক অবস্থায় আনতে পারে না?
রায়ফকমন্ড

ব্যাকআপের সময় কার্যকর লগ মডেল পূর্ণ is আপনি সিম্পল চাইলেও এসকিউএল সার্ভারকে সবকিছু সামনের দিকে রোল করতে সক্ষম হওয়া দরকার। টেবিলগুলি কাটা হচ্ছে একটি লগড এবং লেনদেন করা অপারেশন, সেখানে কোনও সমস্যা নেই। ডিডিএল লেনদেন হয়।
usr
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.