ডিস্কের স্থান ছাড়তে এমএস এসকিউএল সার্ভার পান


9

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

প্রতিক্রিয়াগুলির সাথে এর মতো অনেকগুলি প্রশ্ন রয়েছে যা বলছে আপনাকে ডাটাবেস সঙ্কুচিত করা দরকার। তবে তারা খণ্ডিত ডেটা ইত্যাদির কারণে এটি করা কতটা খারাপ / ভীতিজনক তা ব্যাখ্যা করে চলেছে etc.

  1. যেহেতু ডাটাবেসটি এই আকারের হওয়া উচিত নয়। এটি সঙ্কুচিত করা এখনও আমার পক্ষে খারাপ?
  2. এটি একটি প্রোডাকশন ডাটাবেস। আমি যদি সঙ্কুচিত করি তবে এটি কি ডাউনটাইম সৃষ্টি করবে বা ডাটাবেস লক করবে?
  3. এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিওতে আপনার সঙ্কুচিত, ডাটাবেস বা ফাইলগুলির জন্য দুটি বিকল্প রয়েছে। আমার পরিস্থিতি দেওয়া কি সেরা বিকল্প হতে পারে?
  4. ডিবি-র কত শতাংশ মুক্ত স্থান থাকতে হবে তার কোনও নিয়ম রয়েছে?

এমনকি সঙ্কুচিত ট্যাগ বিবরণ পড়াও আমাকে এটি করতে চায় না। অন্য উপায় আছে?

উত্তর:


14

আমি এই টেবিল থেকে প্রায় 400 মিলিয়ন রেকর্ড মুছে ফেলব।

আশাকরি, আপনি এটি কাজগুলি করছেন - ফুলের লেনদেনের লগ এড়াতে।

লক্ষ্য করুন যে আমি আমার হার্ড ড্রাইভের জায়গাতে কোনও ড্রপ দেখছি না

আপনি অভ্যাস করবেন না, যেহেতু স্পষ্টভাবে স্থান ছেড়ে দেওয়ার জন্য আপনাকে ডাটাবেস ফাইলটি সঙ্কুচিত করতে হবে। কেবল রেকর্ডগুলি মুছে ফেলা হচ্ছে, এসকিউএল সার্ভার ওএসে স্থানটি ছেড়ে দেবে না

  1. যেহেতু ডাটাবেসটি এই আকারের হওয়া উচিত নয়। এটি সঙ্কুচিত করা এখনও আমার পক্ষে খারাপ?

এটি সাধারণত একটি খারাপ অভ্যাস, কারণ ডাটাবেসগুলি সঠিকভাবে চাপানো উচিত। আপনি 100% নিশ্চিত করুন যে আপনার ডাটাবেস হন না আবার এই আকার, হতে যাচ্ছে আপনি ডাটাবেস সঙ্কুচিত তার ঠিক আছে (আপনার দৃশ্যকল্প মধ্যে)

  1. এটি একটি প্রোডাকশন ডেটাবেস। আমি যদি সঙ্কুচিত করি তবে এটি কি ডাউনটাইম সৃষ্টি করবে বা ডাটাবেস লক করবে?

একটি ডাটাবেস সঙ্কুচিত করা খুব IO নিবিড়। DBCC SHRINKFILEরক্ষণাবেক্ষণ উইন্ডো চলাকালীন বা যখন ন্যূনতম কার্যকলাপ থাকে তখন ব্যবহার করে সঙ্কুচিত হওয়ার পরামর্শ দেওয়া হয় ।

  1. ম্যানেজমেন্ট স্টুডিওতে আপনার কাছে দুটি বিকল্প রয়েছে, ডাটাবেস বা ফাইল। আমার পরিস্থিতি দেওয়া কি সেরা বিকল্প হতে পারে?

সঙ্কুচিত করতে আপনার টিএসকিউএল ব্যবহার করা উচিত। (যেহেতু আপনি জিজ্ঞাসা করেছেন, ফাইল ফাইলকে সঙ্কুচিত করা ডাটাবেসের পরিবর্তে যাওয়ার উপায়)। আপনি খণ্ডগুলিতে সঙ্কুচিত ডাটাবেস ব্যবহার করতে পারেন - অংশগুলিতে সঙ্কুচিত করতে tsql স্ক্রিপ্ট।

মনে রাখবেন আপনি যখন সঙ্কুচিত হবেন তখন আপনি আপনার সূচিগুলি টুকরো টুকরো করছেন।

  1. ডিবি-র কত শতাংশ মুক্ত স্থান থাকতে হবে তার কোনও নিয়ম রয়েছে?

আপনি ডাটাবেস নিবন্ধের জন্য ডিস্ক স্পেস প্রয়োজনীয়তা অনুমান করতে পারেন । কোনও স্থির নিয়ম নেই, আপনার ডাটাবেসটি কীভাবে বাড়বে আশা করা উচিত তা বিবেচনায় নিতে হবে। আপনাকে আপনার ডেটাবেসগুলির অটোগ্রোথ অ্যাকাউন্টেও নিতে হবে ।

তথ্যসূত্র: কেন লেনদেন লগ বাড়তে থাকে বা স্থানের বাইরে চলে যায়?


5

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

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

যদি মুক্ত স্থানটি প্রিমিয়ামের অনেক বেশি হয় তবে দীর্ঘ চলমান প্রক্রিয়াগুলি এড়াতে আপনাকে বুলেটটি কামড়তে এবং আস্তে আস্তে ডিবিকে একটি ছোট অংশ সঙ্কুচিত করতে হতে পারে। মনে রাখবেন যে আপনার ডেটা ভারীভাবে খণ্ডিত হয়ে যাবে এবং আপনি আবার সব কিছু পুনরায় সূচি করতে চান। মনে রাখবেন যে সবকিছু পুনর্নির্মাণের পরে, আপনি তারপরে আপনার ব্যবহৃত স্থানটিকে কিছুটা বেলুন করবেন এবং অতিরিক্ত মুক্ত স্থান পেয়ে ফিরে যাবেন। ব্রেন্টের পরামর্শ এখানে দেখুন

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

এছাড়াও লগ ফাইল বৃদ্ধি আরও অনেক গুরুত্বপূর্ণ। অতিরিক্ত লগ ফাইলগুলি ভিএলএফ বিভাজন হতে পারে। এটি আপনার পুনরুদ্ধারগুলিকে অনেক ধীর করে তোলে এবং চেকপয়েন্ট / কাণ্ডগুলি প্রভাবিত করতে পারে। খণ্ডিত লগ সহ আপনি গ্রহণযোগ্যতার কিছু কার্যকারিতা ঝুঁকিপূর্ণ। DBCC LOGINFO();প্রতিটি ডাটাবেসে একটি করুন। কিম ট্রিপ প্রতি পিছু সংখ্যা প্রায় 50 টি রাখার চেষ্টা করুন তবে আপনি যদি শত শতটি দেখতে পান তবে আপনার খণ্ডিত সমস্যা রয়েছে যার অর্থ আপনার লগ ফাইলগুলি ক্রিয়াকলাপ সমর্থন করার জন্য বৃদ্ধি পেতে হয়েছিল। পল র্যান্ডাল অনুসারে আপনার লগ ফাইলটি কী হওয়া উচিত তা দেখার একটি ভাল উপায় হ'ল এটি কেবল এক সপ্তাহের জন্য বাড়িয়ে দেওয়া এবং পুনর্নির্মাণ করা। এটি একটি ভাল পয়েন্ট হতে পারে, সম্ভবত আপনি সেখানে কিছুটা আরও ফাঁকা জায়গা ফেলে দিতে পারেন। আপনার লগগুলি ডিবিসিসি লোগিনফো () দিয়ে বিভক্ত নয় তা নিশ্চিত করুন; আবার এবং যদি তারা হয় তবে এর অর্থ তারা অনেক বেড়েছে। ব্যবহার করে লগ ফাইল সঙ্কুচিত করুন এবং পুনরায় প্রসারিত করুনএই পদ্ধতি


2

আপনার স্টোরেজ প্রয়োজনীয়তাগুলি মূল্যায়ন করতে এবং হার্ডওয়ার / হোস্টিং পরিষেবাগুলি যথাযথভাবে পরিকল্পনা করতে আপনার সার্ভারের যে পরিমাণ সময় ব্যয় হবে তা নিশ্চিত করার জন্য এটি যথেষ্ট সঙ্কুচিত করা ঠিক আছে (প্রশ্ন দেখুন 4)। না এটি লক করবে না। সীমাবদ্ধতা দেখুন । ডাটাবেস সঙ্কুচিত করুন কারণ এটি বিষয়গুলি সহজ রাখে।

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

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