মাইক্রোসফ্ট এসকিউএল সার্ভার ত্রুটি ডায়াগনো 9001: ডাটাবেসের জন্য লগ উপলব্ধ নয়


20

উইকএন্ডের শেষের দিকে আমি যে ওয়েবসাইট চালাচ্ছি সেগুলি কাজ বন্ধ করে দিয়েছে, প্রতিবার ওয়েবসাইটটিতে অনুরোধ করার সময় ইভেন্ট ভিউয়ারে নিম্নলিখিত ত্রুটিটি রেকর্ড করে:

ইভেন্ট আইডি: 9001

ডাটাবেস ' ডাটাবেসের নাম ' জন্য লগ পাওয়া যায় না। সম্পর্কিত ত্রুটি বার্তাগুলির জন্য ইভেন্ট লগ চেক করুন। কোনও ত্রুটি সমাধান করুন এবং ডাটাবেস পুনরায় চালু করুন।

ওয়েবসাইটটি একটি ডেডিকেটেড সার্ভারে হোস্ট করা হয়েছে, তাই আমি সার্ভারে আরডিপি করতে সক্ষম হয়েছি এবং আশেপাশে ঝাঁকুনি দেব। LDFডাটাবেসের জন্য ফাইলের মধ্যে বিদ্যমান C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATAফোল্ডারের, কিন্তু একই ত্রুটিটি প্রতিবেদন করার সময় একটি ডায়লগ বক্স থেকে ম্যানেজমেন্ট স্টুডিও ফলাফল ডাটাবেসের সঙ্গে কোনো কাজ করার চেষ্টা - 9001: ডাটাবেসের জন্য লগ উপলব্ধ নেই ...

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

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

আমি ওয়েব হোস্টিং সংস্থায় সমর্থন ইমেল করেছিলাম এবং এটি তাদের জবাব ছিল:

ইভেন্ট লগটিতে কারণটির অন্য কোনও ইঙ্গিত উপস্থিত রয়েছে বলে মনে হয় না, সুতরাং লগটি দূষিত হওয়ার সম্ভাবনা রয়েছে। বর্তমানে মেমরির রিসোর্সগুলি 87% এ রয়েছে যা এর প্রভাবও ফেলতে পারে তবে অসম্ভাব্য।

লগটি কি কেবল "দুর্নীতিগ্রস্থ হয়ে উঠতে পারে?"

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

ধন্যবাদ

উত্তর:


16

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

প্রতিক্রিয়া হ'ল এটি স্টোরেজ সমস্যা।

যদি এটি আবার ঘটে তবে ডাটাবেসের বিরুদ্ধে ডিবিসিসি চেকডডিবি চালান এবং এটি আপনাকে দুর্নীতির বিষয়ে আরও তথ্য দেবে এবং যদি পুনরুদ্ধার না করেই সমস্যার সমাধান করা যায়। ডাটাবেসের বিপরীতে চেকডিবি চালানোর জন্য আপনাকে সম্ভবত জরুরি মোডে অনলাইন ডাটাবেস আনতে হবে।

মেমরির ব্যবহার 87% এ থাকা সমস্যার সাথে কিছু করার নেই। এসকিউএল সার্ভার মেমরিটি পুরোপুরি 100% (বা এটির কাছে) ডিজাইন দ্বারা চালিত করবে।


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

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

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

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

8

আমি ম্যানেজমেন্ট স্টুডিওতে অফলাইনে ডাটাবেস নিয়ে তাৎক্ষণিকভাবে অনলাইনে আবার এনে সমাধান করতে সক্ষম হয়েছি। dbcc checkdbত্রুটি ফেলেছিল যা এগুলি করার পরে সমাধান করা হয়েছিল। আমি বলতে পারব না কেন এই কর্মরত ছিলেন শুধুমাত্র এটি করেনি হবে।


5

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


1

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

আপনি যখন প্রভাবিত ডাটাবেস অফলাইনে / অনলাইনে নিবেন তখন এমএস এসকিউএল ত্রুটিটি পুনরায় পুনরায় হওয়া পর্যন্ত প্রভাবিত ডাটাবেস লগগুলিকে সক্ষম করবে enable

এটি সমাধানের আরেকটি উপায় হ'ল অটো_ক্লোজ বিকল্পটি অফে পরিবর্তন করা

http://sqlmag.com/blog/worst-practice-allowing-autoclose-sql-server-databases


0

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

দ্বিতীয় জিনিসটি (সম্ভবত আপনি যদি পারেন তবে একই সাথে) ডাটাবেসে ডিবিসিসি চেকডিবি চালিত হয় (আপনার সিস্টেমের ডাটাবেসগুলিও ঘটতে পারে)।


0

ঠিক আছে, প্রথম পদক্ষেপ, আপনার লগ এবং আপনার এমডিএফ ফাইলগুলির সম্পূর্ণ ভিন্ন ড্রাইভে ব্যাকআপ করুন। দ্রুত! (ফাইল অনুলিপি)

এছাড়াও, একটি সম্পূর্ণ ডাটাবেস ব্যাকআপ সম্পাদন করে দেখুন।

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

আমাকে জানতে দাও.


0

হ্যাঁ, আমিও এই একই সমস্যা পেয়েছি, এটি টেম্পডিবি ত্রুটি 9001 অর্থাত লগ উপলভ্য নয় regarding আমরা পরিষেবাগুলি আবার চালু করেছি এবং সব ঠিক আছে।

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


0

গতকাল, আমি একই ত্রুটিটি পেয়েছি "ডাটাবেস '%' এর জন্য লগ পাওয়া যায় না। মারাত্মক ত্রুটি 9001, # 21. দয়া করে আপনার প্রশাসকের সাথে যোগাযোগ করুন" -

কার্যতঃ- আমি 'টেম্পডিবি' চেক করেছিলাম তবে এটি একইভাবে সিস্টেমের অন্যান্য ডাটাবেসগুলিতে অ্যাক্সেসযোগ্য ছিল না। তারপরে মেরামত বিকল্পে যাবার আগে আমি কেবলমাত্র সেই উদাহরণটির জন্য এসকিউএল পরিষেবাগুলি পুনরায় চালু করেছি এবং সমস্যার সমাধান হয়ে গেছে :) :)


-2

লগ সম্প্রসারণের জন্য কোনও ডিস্কের জায়গা না থাকলে আমি এটি ঘটতে দেখেছি; আপনি যাচাই করতে পারেন যে সি: on তে পর্যাপ্ত জায়গা ছিল এবং আপনার লগগুলি পরিচালনা করা হচ্ছে, অর্থাৎ আপনি যদি পুরো পুনরুদ্ধার মোডে থাকেন তবে ব্যাক আপ নেওয়া।

আপনার বিকল্প থাকলে আমি আপনার এলডিএফ (এবং এমডিএফ) বুট ভলিউম থেকে সরিয়ে ফেলব।


হার্ড ড্রাইভের জায়গার বাইরে চলে যাওয়া ডাটাবেস দুর্নীতির কারণ হতে পারে না, যদি না আপনি পাতলা বিধানিত স্টোরেজ ব্যবহার করেন এবং বেস স্টোরেজটি স্থানের বাইরে চলে যায়। তবে এটি সম্পূর্ণ ভিন্ন দুঃস্বপ্ন।
mrdenny

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

1
ড্রাইভে 25 গিগাবাইটেরও বেশি মুক্ত স্থান রয়েছে এবং প্রশ্নে থাকা ডাটাবেসটি 25 এমবি আকারের নিচে।
স্কট মিচেল

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

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