আমি কি দেখতে পাচ্ছি যে কোনও এসকিউএল সার্ভার ডাটাবেসে Histতিহাসিক প্রশ্নগুলি চালিত হয়েছে?


38

কেউ আমাদের এসকিউএল সার্ভার ডেটাবেসে দূরবর্তী অবস্থান থেকে একটি কোয়েরি চালাচ্ছিল এবং তাদের সিস্টেম ক্র্যাশ হয়েছে।

তাদের কাছে সেই ক্যোয়ারির কোনও ব্যাকআপ নেই এবং সার্ভারে কী চলছে তা দেখতে চান।

এই কোয়েরিটি কোনও লগ বা কোনও ইতিহাসে খুঁজে পাওয়া সম্ভব?


একটি লগ না। একটি টিএফএস বা সোর্সসেফ সংস্করণ নিয়ন্ত্রণ সিস্টেমে চেক করা হয়েছে? ফলাফলটি একটি টিএসটি তে সেট করা হয়েছে যাতে এটি পুনরায় তৈরি করা যায়?
jl01

2
ভবিষ্যতের ডিজাইনের জন্য আপনি ট্রিগার এবং নিরীক্ষণ / ইতিহাস সারণী যুক্ত করার বিষয়টি বিবেচনা করতে পারেন। তারপরে সর্বশেষ আপডেট হওয়া সময় / ব্যবহারকারীর ব্যবহার করতে সক্ষম হবেন।
টমাস স্ট্রিংগার

উত্তর:


39

অনুরূপ গ্রান্ট ফ্রিটের সমস্যা ছিল যেখানে তিনি এসএসএমএস বন্ধ করে দিয়েছিলেন এবং যে ক্যোয়ারিতে তিনি কাজ করছেন তা হারিয়ে ফেলেছেন ... ব্লগড সম্পর্কে এখানে: ওহ **********!

সম্পাদনা

উত্তরের আরও কিছুটা বিশদ তৈরি করতে, গ্রান্টের উপরের লিঙ্কযুক্ত রেফারেন্সযুক্ত একটি সন্ধানটি কেবলমাত্র আপনি যে সম্পাদনটি সম্পাদন করেছেন (বা এর সর্বনিম্ন প্রচেষ্টা) চালিয়েছিলেন তা বের করার জন্য উদাহরণে ক্যাশে যেতে একটি প্রশ্ন সরবরাহ করে:

SELECT  dest.text
FROM    sys.dm_exec_query_stats AS deqs
        CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
WHERE   deqs.last_execution_time > '5/19/2011 11:00'
        AND dest.text LIKE 'WITH%';

গ্রান্টের ব্লগের মন্তব্যে আরও কয়েকটি বিকল্প উল্লেখ করা হয়েছে:


1
এটি একটি দুর্দান্ত নিবন্ধ! ধন্যবাদ! এবং গ্রান্টের নিবন্ধটি অনুসরণ করে, এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিওতে ব্যাক-আপ কোয়েরি ফাইলগুলি পুনরুদ্ধার করা সহায়ক হতে পারে।
মেরিয়ান

এই উত্তরটি আমদানি করা যেতে পারে যদি এতে বলা হয় যে এটি স্ক্যালসার্ভারের কোন সংস্করণে কাজ করে। আমি যখন এটি চালানোর চেষ্টা করি তখন আমি এই ত্রুটিটি পেয়েছি: 'এর নিকটে ভুল সিনট্যাক্স। ২০০৮
মাইকেল পটার 20

আমদানি করা যায়? @ মিশেলপোটার ব্রাউজার এবং অন্যান্য সরঞ্জামগুলির মধ্যে অনুলিপি করুন এবং পেস্ট করুন যা সাধারণত উদ্ধৃতি চিহ্ন এবং অন্যান্য পাঠ্য পরিবর্তন করবে, এই অংশটির উপর আমার কোনও নিয়ন্ত্রণ নেই।
শন মেল্টন 21

দুঃখিত, দয়া করে আমার প্রশ্নটি সংশোধন করুন ... গুলি / আমদানি / উন্নত /
মাইকেল পটার

16

2005+, উদ্ধারে ডিফল্ট ট্রেস

ডিফল্ট ট্রেস 20 মিমি রোল করে তবে এসকিউএল 5 টি ট্রেসের ইতিহাস ধরে রাখে। সার্ভারে অ্যাক্সেসের সাথে আপনি এমএসএসকিউএল \ লগ ডিরেক্টরি থেকে * .trc ফাইলগুলি পুনরুদ্ধার করতে পারেন। আপনি যদি সার্ভারটি অ্যাক্সেস করতে না পারেন তবে নিম্নলিখিতটি আপনাকে বর্তমান ডিফল্ট ট্রেস ফাইলটির নাম দেবে:

SELECT * FROM ::fn_trace_getinfo(default) 

যদি বর্তমান ফাইলটি উদাহরণস্বরূপ E: \ MSSQL.1 \ MSSQL \ LOG \ log_200.trc হয় তবে পূর্ববর্তী ফাইলগুলি লগ_199.trc, লগ_198.trc ইত্যাদি হওয়া উচিত: এর সাথে ট্রেসের সামগ্রীগুলি পান:

SELECT * FROM fn_trace_gettable('E:\MSSQL.1\MSSQL\LOG\log_199.trc', default)

13

আপনি পারে , ক্যাশে ক্যোয়ারী প্ল্যান থেকে তথ্য পুনরুদ্ধার sys.dm_exec_query_stats উপর তথ্য জন্য Bol চেক বা একই ডাটাবেসের সাথে সংযুক্ত ব্যবস্থাপনা স্টুডিও থেকে এই চালাতে সক্ষম হবেন:

SELECT  d.plan_handle ,
        d.sql_handle ,
        e.text

FROM    sys.dm_exec_query_stats d
        CROSS APPLY sys.dm_exec_sql_text(d.plan_handle) AS e

এর সাথে আউটপুট ফিল্টার করুন

WHERE text like '%something%'

ফলাফল সংকীর্ণ।


9

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

দুর্ভাগ্যক্রমে এটি ডিফল্ট দ্বারা সমর্থিত নয় তবে এটি করার উপায় রয়েছে।

আপনি অ্যাপেক্সএসকিউএল লগ বা এসকিউএল লগ রেসকিউ (ফ্রি তবে এসকিউএল 2000 কেবল) এর মতো তৃতীয় পক্ষের সরঞ্জামগুলি ব্যবহার করে দেখতে পারেন ।

আর একটি বিকল্প হ'ল অনাবন্ধিত ফাংশনগুলি ডিবিসিসি এলওজি বা fn_dblog ব্যবহার করার চেষ্টা করা। এটি আরও জটিল তবে এটি নিখরচায়।


0

আপনার ডাটাবেসটি যদি পুরো পুনরুদ্ধারের মডেলটিতে সেট করা থাকে আপনি আপনার লেনদেন লগ ব্যাকআপগুলি তদন্ত করতে পারেন। দেখুন fn_dump_dblogআরও তথ্য জন্য।


0

অ্যাপেক্সএসকিউএলে একটি 'এক্সিকিউটেড ক্যোয়ারী' কার্যকারিতা রয়েছে যা আপনাকে তারিখ অনুসারে অনুসন্ধান এবং ফিল্টার করতে দেয়।

আমি নিশ্চিত নই যে এটি এসএসএমএস ক্যাশে থেকে ইতিহাসটি টানছে বা আসলে এটি নিজেই ট্র্যাক করে রাখে। আপনি এটি ইনস্টল করার চেষ্টা করতে পারেন এবং সর্বোত্তম আশা করতে পারেন।


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