এসকিউএল সার্ভারে নতুন ট্রেস পতাকা সন্ধানের পদ্ধতি Meth


38

সেখানে প্রচুর ট্রেস পতাকা রয়েছে। কিছু ভাল ডকুমেন্টেড, কিছু না, এবং অন্যরা 2016 এর মুক্তির ক্ষেত্রে তাদের ডিফল্ট আচরণের স্থিতির উপায় খুঁজে পেয়েছে। অফিসিয়াল সাপোর্ট চ্যানেলগুলি, মাইক্রোসফ্ট কর্মচারী ইত্যাদি বাদে নতুন ট্রেস ফ্ল্যাগগুলি সন্ধান করার উপায়গুলি কী কী?

আমি অ্যারোন বার্ট্র্যান্ডের সাম্প্রতিক কয়েকটি পোস্ট এখানে এবং এখানে পড়েছি তবে নতুন ট্রেস ফ্ল্যাগ সম্পর্কে কিছুই খুঁজে পাইনি।

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

ধরে নিই যে ডিবিসিসি কমান্ড তাদের সক্ষম করার জন্য ট্রেস পতাকাটি বৈধ কিনা তা নিশ্চিত করার জন্য কিছু সংস্থান দিয়ে পরীক্ষা করে দেখতে হবে, এটি কোথায় পৌঁছেছে? একটি .dll বা অন্য কোনও সিস্টেম ফাইল রয়েছে যা একটি তালিকা ধরে রেখেছে?

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

উত্তর:


42

পোস্টগুলি স্লাইড ডেক / ইত্যাদি থেকে জিজ্ঞাসা বা তাদের বাছাই করা ছাড়া তালিকার সন্ধানের জন্য আপনার করার মতো কিছুই নেই। তালিকাটি কেবলমাত্র একটি শিরোনামের ফাইলটিতে বিদ্যমান থাকে যেখানে সি ++ কোডের একটি বড় এনামের মধ্যে বৈধ ট্রেস পতাকা নম্বরগুলি ম্যাপ করা হয় এবং তারপরে নামগুলি বাকী কোডে ব্যবহৃত হয়।

হারুন যেমন বলেছিলেন, আপনি কোনও ট্রেস পতাকা নম্বর সক্ষম করতে পারবেন এবং এটি যদি কিছু না করে বা আপনি যে কার্যকারিতাটি ট্রেস পতাকাটির সাথে সম্পর্কিত তা ব্যবহার না করেন, তবে আপনি আচরণে কোনও পার্থক্য লক্ষ্য করবেন না notice

DBCC TRACEON কোনটি পরীক্ষা করে না - যেহেতু কোন রান-টাইম তালিকা নেই যা সংখ্যার বৈধ আছে কি না - এটি কেবল সেই সংযোগের জন্য / বিশ্বব্যাপী কী পতাকা নির্ধারণ করেছে তার বিটম্যাপে সেই পতাকা নম্বরটি সন্ধান করে।

বৈধতা যাচাইয়ের সাথে সমস্যাটি হ'ল কোন ট্রেস ফ্ল্যাগগুলি বৈধ কিনা তা তাদের প্রকাশের অনুমতি দেয়। এইভাবে 'বৈধ তালিকা' কার্যকরভাবে আবদ্ধ, যা এসকিউএল দলটি চায়।

এসকিউএল সার্ভারের থাকা উচিত select * from sys.available_trace_flags- একটি মন্তব্যে কিনের পরামর্শ সম্পর্কে - হ্যাঁ এবং না। অনেকগুলি ট্রেস পতাকা রয়েছে যা কার্য সম্পাদনের পক্ষে অত্যন্ত ক্ষতিকারক এবং কেবল পণ্য সহায়তা থেকে প্রাপ্ত নির্দেশাবলীতে ডিবাগিং সমস্যার জন্য প্রয়োজনীয় তবে এসকিউএল সার্ভার 'নিরাপদ' পতাকাগুলি তালিকাভুক্ত করতে পারে।


2
একটি ছোটখাটো ঝাঁকুনি - ডিবিসিসি ট্র্যাকিয়ন সত্যই কিছু পরীক্ষা করে। এই সূচনাটি কোডটি দেখায় যা ট্রেস ফ্ল্যাগগুলির মধ্য দিয়ে শুরু হবে ১ থেকে শুরু হবে এসকিউএল সার্ভারের সমস্ত বর্তমান সংস্করণটি সর্বাধিক বর্তমান ট্রেস পতাকা নম্বরটিতে ছড়িয়ে
ব্রেন্ট ওজার

41

নতুন ট্রেস পতাকা খুঁজে পাওয়ার উপায়গুলি কী কী?

বেশিরভাগ ক্ষেত্রে, সময় এবং সংবেদনশীল সংস্থানগুলির সন্ধানে ব্যয় করার বিষয়টি নেমে আসে।

অবশ্যই, সম্ভাব্য ট্রেস পতাকা নম্বরগুলির মধ্য দিয়ে লুপ করতে কোনও স্ক্রিপ্ট লেখা সম্ভব এবং এর প্রভাবগুলি বিশ্লেষণ করা সম্ভব তবে এটি সর্বদা ফলদায়ক হয় না। এর জন্য অনেকগুলি কারণ রয়েছে, তবে সাধারণ হতাশাগুলির মধ্যে রয়েছে যে কয়েকটি ট্রেস পতাকা অন্যদের সাথে সম্মিলিতভাবে কার্যকর, কিছু কেবল -Tস্টার্টআপে কাজ করে , বা যখন ব্যবহৃত হয় তখন DBCC TRACEONকিছু সাথে থাকে OPTION (QUERYTRACEON)। কারও কারও কাছে অনির্ধারিত কমান্ড, বা কমান্ড এক্সটেনশানগুলির প্রয়োজন হয়, বা কোনও নির্দিষ্ট বৈশিষ্ট্যটি সক্ষম করার জন্য। কিছু কেবল তখনই প্রভাব ফেলতে পারে আপনি যদি জানেন যে সেগুলিগুলির প্রভাবগুলি কোথায় সন্ধান করতে হয়। এবং তাই এবং ... খুব ... তাই।

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

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

একটি ব্রেকপয়েন্ট নির্ধারণ করা CSessionTraceFlags::CheckSessionTraceInternalএবং edxনিবন্ধের মান পরীক্ষা করা (কোন ট্রেস পতাকাটি পরীক্ষা করা হচ্ছে তা দেখতে) সহজ ক্ষেত্রে কার্যকর হতে পারে তবে আকর্ষণীয় ঘটনাগুলি প্রায়শই সহজ হয় না - এবং সমস্ত ট্রেস পতাকাগুলি সেই বিন্দুতে পরীক্ষা করা হয় না যেখানে গৃহীত কোড পাথকে প্রভাবিত করুন।

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

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

বেশ কয়েকটি অনানুষ্ঠানিক তালিকা রয়েছে, আমি যে সম্পর্কে সবচেয়ে ভাল জানি তা হ'ল অ্যারোন মোরেলির এসকিউএল সার্ভার ফ্ল্যাগগুলির একটি টপিক্যাল সংগ্রহ (বর্তমানে ভি 6, এপ্রিল 2016) at

যা যা বলেছিল, মাইক্রোসফ্ট সিএসএসের (শেষ পর্যন্ত) সমস্ত ট্রেস ফ্ল্যাগের অ্যাক্সেস রয়েছে, তাই তারা অফিসিয়াল তালিকায় না থাকলেও তারা আপনাকে যে কোনও বিষয়ে আসতে পারে সে সম্পর্কে পরামর্শ দিতে সক্ষম হতে পারে। তারা অবশ্যই কিছু না বলা বেছে নিতে পারে এবং এতে কোনও ফি জড়িত থাকতে পারে; আমি সত্যিই জানি না, আমি নিজে কখনই সে পথে যাইনি।


14

আমরা গিথুব (এখন 599 ট্রেস পতাকা) তে ট্রেস ফ্ল্যাগের সংগ্রহ রক্ষণ করি :

মাইক্রোসফ্ট এসকিউএল সার্ভার ট্রেস ফ্ল্যাগস

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

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