এসকিউএল সার্ভার ডাটাবেস কখন প্রশ্নগুলি গ্রহণ করতে প্রস্তুত?


11

এসকিউএল সার্ভার ত্রুটি লগ ফাইলে আমি নিম্নলিখিত লাইনগুলি পেয়েছি:

2018-02-22 14:10:58.95 spid17s     Starting up database 'msdb'.
2018-02-22 14:10:58.95 spid16s     Starting up database 'ReportServer'.
2018-02-22 14:10:58.95 spid18s     Starting up database 'ReportServerTempDB'.
2018-02-22 14:10:58.95 spid19s     Starting up database 'XYZ'.

যদি আমি এই সময়ের আগে XYZ ডাটাবেসটির স্থিতি পরীক্ষা করি তবে ONLINEএটি নীচের বিবৃতিটি ব্যবহার করছে:

SELECT state_desc FROM sys.databases WHERE name='XYZ'

... তবে আমি যখন সি # অ্যাপ্লিকেশন ব্যবহার করে এই ডাটাবেসটির সাথে সংযোগ দেওয়ার চেষ্টা করব তখন এটি ডাটাবেসের সাথে সংযোগ করতে পারে না।

ত্রুটিটি হ'ল:

ব্যবহারকারী 'এস্যাসার্ড' এর জন্য লগইন ব্যর্থ হয়েছে।
কারণ: স্পষ্টভাবে নির্দিষ্ট ডেটাবেস খুলতে ব্যর্থ।

আমি তিনটি পৃথক ব্যবহারকারী (উইন্ডোজ ব্যবহারকারী, এস, এসকিউএল সার্ভার ব্যবহারকারী অ্যাপ্লিকেশনটির জন্য সংজ্ঞায়িত) চেষ্টা করেছি। OS এর শুরুতে অ্যাপ্লিকেশনটি চালানোর সময় সমস্যাটি ঘটে থাকে, তবে আমি যদি স্টার্টআপের পরে নিজেই এটি শুরু করি তবে কোনও ত্রুটি ঘটবে না, তাই আমি মনে করি সমস্ত এসকিউএল সার্ভার সেটিংস এবং ফায়ারওয়াল সেটিংস সঠিক।

আমি এর আগেও পরীক্ষা করেছিলাম যে পরিষেবার স্থিতি চলছে।

ডাটাবেসটি আসলে অনলাইন এবং প্রশ্নের জন্য প্রস্তুত কিনা তা নিশ্চিত করার জন্য আমার আর কী পরীক্ষা করা উচিত?

আমি এমন একটি কী খুঁজছি যা আমাকে বলছে যে এটি একটি সময়ের জন্য দেরি না করে (এমনকি কোনও সুস্পষ্ট কারণের ভিত্তিতে নয়) পরিবর্তে ডাটাবেসগুলি জিজ্ঞাসা করা ঠিক।

আমি "ডাটাবেস 'এক্সওয়াইজেড' স্টার্টআপ আপ" পাঠ্যটির জন্য ত্রুটি লগটি স্ক্যান করার কথা ভেবেছিলাম, তবে এর অর্থ আমাকে এসকিউএল সার্ভার ত্রুটির লগের জন্য অ্যাপ্লিকেশনটির জন্য একটি সেটিং যুক্ত করতে হবে। এটির অর্থ এটি অনেকবার ফাইল পড়া পর্যন্ত আমি এই বাক্যাংশটি খুঁজে না পাওয়া পর্যন্ত।

উত্তর:


23

এসকিউএল সার্ভার ডাটাবেসগুলি যত তাড়াতাড়ি জিজ্ঞাসাগুলি গ্রহণ করতে প্রস্তুত:

SELECT DATABASEPROPERTYEX(N'database name', 'Collation')

ফিরে আসে না NULL

DATABASEPROPERTYEX(লেনদেন-এসকিউএল) এর জন্য ডকুমেন্টেশন থেকে :

দ্রষ্টব্য: ONLINEডাটাবেস খোলা থাকাকালীন স্থিতি ফিরিয়ে দেওয়া হতে পারে এবং এখনও পুনরুদ্ধার করা হয়নি। কখন একটি ডাটাবেস সংযোগ গ্রহণ করতে পারে তা সনাক্ত করতে, এর কোলেশন সম্পত্তিটি জিজ্ঞাসা করুন DATABASEPROPERTYEX। ডাটাবেস সংযোগ গ্রহণ করতে পারে যখন ডাটাবেস কোলেশন একটি নন-মান দেয়। সর্বদা ডাটাবেসগুলির জন্য, এর কলাম database_stateবা database_state_descকলামগুলি জিজ্ঞাসা করুন sys.dm_hadr_database_replica_states


3

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

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

আপনি যদি অ্যাপ্লিকেশনটি তাত্ক্ষণিকভাবে এসকিউএল সার্ভারে প্রবেশ করতে সক্ষম হন তবে এখন পর্যন্ত কোনও প্রশ্ন চালাতে সক্ষম না হতে পারেন, ব্যবহারকারী ডাটাবেসের পরিবর্তে এটির ডিফল্ট ডাটাবেস টেম্পডিবিতে সেট করুন set এটি ব্যবহারকারীর ডাটাবেসগুলি উপলভ্য না থাকলেও এটি সরাসরি অবিলম্বে হবে।

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