ডিফল্ট ট্রেস সক্ষম হয়েছে তবে সক্রিয় নয়


9

আমি যখন ডিফল্ট ট্রেসের কনফিগারেশনটি জিজ্ঞাসা করি তখন এটি সক্ষম দেখায়:

exec sp_configure 'default trace enabled';
-->
name                    minimum  maximum  config_value  run_value
default trace enabled         0        1             1          1

তবে আমি যখন sys.tracesপথটির জন্য জিজ্ঞাসা করি তখন এটি একটি খালি রোসেটটি দেয়:

select * from sys.traces;

সক্ষম ট্রেসগুলির অনুপস্থিতিকে কী ব্যাখ্যা করতে পারে?


@ অ্যারোনবার্ট্র্যান্ড: select * from sys.tracesখালি রোসেটটি ফেরত দেয়
আন্দোমার

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

@ অ্যারোনবার্ট্র্যান্ড: প্রশাসক বলেছেন যে কিছু দিন আগে এই ড্রাইভটি পূরণ হয়েছিল। এসকিউএল সার্ভার পরিষেবা পুনরায় চালু করার ফলে কি ডিফল্ট ট্রেস পুনরায় চালু হবে?
Andomar

ট্রেসটি থামানো আমার পক্ষে প্রথম ছিল তবে EXEC sp_trace_setstatus @traceid = 1, @status = 0এটি আবার এনেছে The default trace cannot be stopped or modified.যাতে নিশ্চিত হয় না যে এটির চালানো থেকে বিরত কোনও ত্রুটি না থাকলে এটি থামানো যেতে পারে। ত্রুটি লগ মধ্যে কিছু?
মার্টিন স্মিথ

@ মার্টিন এটি ঠিক, আপনি নিজে ডিফল্ট ট্রেস থামাতে পারবেন না।
অ্যারন বার্ট্র্যান্ড

উত্তর:


13

আমি বলব যে আপনার আউট স্পেস ইভেন্ট এবং অনুপস্থিত ট্রেসগুলির মধ্যে একটি দৃ corre় সম্পর্ক রয়েছে। নোট করুন যে sp_configureবিকল্পটি কেবল আপনাকে জানিয়ে দেয় যে ডিফল্ট ট্রেস সক্ষম হয়েছে, তবে এর অর্থ এই নয় যে এটি চলছে বা এটি উপস্থিত রয়েছে। দ্রষ্টব্য যে sys.tracesএটি কোনও টেবিল নয় বরং একটি দৃশ্য:

create view sys.traces as select * from OpenRowset(TABLE SYSTRACES)

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

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

HKEY_LOCAL_MACHINE\Software\Microsoft\...YourInstance...\Setup\SQLDataRoot\

একবার আপনি নিশ্চিত হয়ে যান যে এসকিউএল সার্ভার এই ফোল্ডারে লিখতে সক্ষম হবে, তারপরে আপনি ডিফল্ট ট্রেসটিকে অক্ষম করতে এবং পুনরায় সক্ষম করতে পারেন:

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'default trace enabled', 0;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'default trace enabled', 1;
GO
RECONFIGURE WITH OVERRIDE;

এই মুহুর্তে আপনার এসকিউএল সার্ভার পরিষেবাটি পুনরায় আরম্ভ করার দরকার নেই, তবে আপনি যদি এখনও সারিটি না দেখেন তবে এসকিউএল সার্ভারের প্যান্টগুলিতে একটি চূড়ান্ত কিক হতে পারে sys.traces। নোট করুন যে trace_idআপনি পাবেন তা 1 এ থাকার গ্যারান্টিযুক্ত নয়।


ধন্যবাদ, অক্ষম এবং পুনরায় সক্ষম কাজ করেছেন। আমি ব্যবহার করিনি with override। ত্রুটি লগগুলি প্রকৃতপক্ষে একটি স্থানের বাইরে কোনও ইভেন্ট দেখায়।
Andomar

1
@ আন্দোমার দুঃখিত, with overrideঅভ্যাস আছে।
অ্যারন বারট্র্যান্ড

1

ড্রাইভটি পূরণ করার পরে আমারও একই সমস্যা ছিল। ডিফল্ট ট্রেস সক্ষম ছিল তবে চলছে না। এটি বন্ধ করে দেওয়া এবং পরিষেবাগুলি বন্ধ না করে অবিলম্বে এটি পুনরায় সক্ষম করা কাজ করে।

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