এমএসডিবিতে ক্যোয়ারী স্টোর সক্ষম করে কী লাভ?


9

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

আপনি এটি জিইউআইতে দেখতে পাচ্ছেন না, এটি আপনার এসকিউএল 2016 উদাহরণে বৈধ করা যেতে পারে

বৈধতা অনুসন্ধানের দোকানটি বন্ধ রয়েছে

USE msdb
SELECT * FROM sys.database_query_store_options; 

ক্যোয়ারী স্টোর চালু করুন

USE [master]
GO
ALTER DATABASE msdb SET QUERY_STORE = ON
GO
ALTER DATABASE msdb SET QUERY_STORE (OPERATION_MODE = READ_WRITE
, INTERVAL_LENGTH_MINUTES = 30
, MAX_STORAGE_SIZE_MB = 1000
, QUERY_CAPTURE_MODE = AUTO)
GO

বৈধতা অনুসন্ধানের দোকান চালু আছে

USE msdb
SELECT * FROM sys.database_query_store_options; 

সমস্ত সিস্টেম ডাটাবেসের মধ্যে কেন ক্যোয়ারী স্টোর ব্যবহারের বিকল্পের সাথে এমএসডিবি একমাত্র এবং এটি কোন মান যুক্ত করে?

-- Stop Query Store
USE [master]
GO
ALTER DATABASE msdb SET QUERY_STORE = OFF
GO

জেমস, দয়া করে [model]"অনুমোদিত নয়" তালিকায় অন্তর্ভুক্ত সম্পর্কিত আমার উত্তর আপডেটটি দেখুন ।
সলোমন রুটজকি

@ সলোমনরুতজকি আমি দেখতে পেয়েছি, খুব আকর্ষণীয়। আপনার উত্তরের অধীনে আমার কাছে মন্তব্য রয়েছে, আপনার উত্তরটি প্রসারিত করতে নিরবহার করুন।
জেমস জেনকিনস

উত্তর:


7

মাইক্রোসফ্ট কোনও বৈশিষ্ট্য সক্ষম করার অর্থ এই নয় যে এটি সবার জন্য কার্যকর হবে। সিস্টেমগুলির জন্য কিছু বৈশিষ্ট্য ব্যবহারের অর্থ এমএসডিবিতে সঞ্চিত তথ্যের উপর নির্ভর করা যেতে পারে। এই ক্ষেত্রে কোয়েরি স্টোর কার্যকর হতে পারে।

এখানে এমএসডিবি ডাটাবেস অবজেক্টগুলির ব্যবহার এবং সুরকরণ সম্পর্কে কয়েকটি নিবন্ধ রয়েছে।

অনলাইন বই থেকে এমএসডিবি ডাটাবেস

জিএসফ এন হিটেনের এমএসডিবি পারফরম্যান্স টিউনিং

টিএম রডনি দ্বারা এমএসডিবিতে রক্ষণাবেক্ষণের গুরুত্ব যেখানে তিনি নিম্নলিখিত উল্লেখ করেছেন:

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

আমি দেখতে পাচ্ছি যে কীভাবে স্টোর আপনার সূচক কৌশলটিকে অনুকূল করে তুলতে এবং এমএসডিবিতে সঞ্চিত কিছু তথ্যের অনুকূল অনুসন্ধান / আগ্রাসন / শুদ্ধকরণে সহায়তা করতে পারে।


1
[msdb]উদ্ধৃতিতে উল্লিখিত বৈশিষ্ট্যগুলি ছাড়াও , "অন্যান্য প্রক্রিয়াগুলি" যেমন: ডিবিমেইল, সেন্ট্রাল ম্যানেজমেন্ট সার্ভার (সিএমএস) পরিষেবাদি (সর্বাধিকভাবে ভাগ করা রেজিস্টার্ড সার্ভারের তালিকা ভাগ করা) হিসাবে অন্তর্ভুক্ত থাকবে, আমি মনে করি যে লিঙ্কযুক্ত পোস্টের মন্তব্যগুলিতে কেউ উল্লেখ করেছেন নীতি ভিত্তিক পরিচালনা (পিবিএম), এবং আমি মনে করি সার্ভার অডিটগুলি (সংজ্ঞাগুলি অন্তত, তবে আমি এটি নিশ্চিত করে নি)।
সলোমন রুটজকি

5

@ এসকিএল ওয়ার্ল্ডওয়াইড প্রশ্নের উত্তরটির "কেন [msdb]" অংশটির উত্তর দিয়েছিল তাই আমি এখানে এটির সদৃশ করব না। কিন্তু উত্তর থেকে "কেন নয় [master], [model], [tempdb]" প্রশ্নই অংশ:

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

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

    আপডেট:
    ওহ, নেলি! আমি কেবল প্রাথমিক প্রশ্নটি পুনরায় পড়লাম যা এটির দিকে নিয়ে যায় এবং অদ্ভুত কিছু লক্ষ্য করে: এর জন্য কেবল ত্রুটি বার্তা ছিল [master]এবং [tempdb]; জন্য কোন ত্রুটি রিপোর্ট করা হয়নি [model]। এটা সম্ভব যে প্রশ্নটিতে অনুলিপি করার সময় ওপি কেবল ত্রুটি বার্তাটি রেখেছিল, তাই আমি নিজের জন্য এটি দেখতে এসকিউএল সার্ভার 2016 এসপি 1-সিইউ 7-জিডিআর (13.0.4466.4) এ চালিয়েছি:

    ALTER DATABASE [model] SET QUERY_STORE = ON; -- completes successfully!
    
    -- Restart instance to force recreation of [tempdb];
    
    CREATE DATABASE [IsQueryStoreEnabledByDefault];
    
    SELECT * FROM sys.databases WHERE [is_query_store_on] = 1;
    
    DROP DATABASE [IsQueryStoreEnabledByDefault];

    এবং ফলাফল? [model]এবং [IsQueryStoreEnabledByDefault]ফিরে হয়, কিন্তু [tempdb]হয় না ফলাফলে! সুতরাং, একটি অতিরিক্ত তবে প্রথম দুই "তবে" গুলি, এটা মনে হচ্ছে যে [model] পারেন ক্যোয়ারী স্টোর সক্ষম করা যা ক) অক্ষমতা ক্যোয়ারী সঞ্চিত সক্ষমতা (হ্যাঁ, এটা একটি শব্দ, আমি এমনকি চেক করা হচ্ছে ;-) জন্য নতুন DBS সৃষ্টি করেছেন এবং খ) [tempdb]পরিষেবাটি আরম্ভ করে পুনরায় তৈরির জন্য অগ্রাহ্য করা হয় (সুতরাং এটি চালু করার জন্য এটি কোনও পিছনের দরজা নয় [tempdb])।  

  • [master]মূল সিস্টেম ডাটাবেস এবং আপনার এখানে কোড চলমান থাকা উচিত নয়। এছাড়াও, সঞ্চিত পদ্ধতিগুলি যা এখানে বিদ্যমান এবং ঘন ঘন ব্যবহৃত হয় তা অপ্টিমাইজেশন থেকে উপকৃত হবে না বা ব্যবহারকারীর ডেটাবেস যেখানে তারা আহ্বান করা হয়েছে সে প্রসঙ্গে কার্যকর করা হবে (যেমন সিস্টেম স্টোরেজ প্রক্সগুলি sp_একটি বিশেষ ক্ষেত্রে রয়েছে যেখানে তারা সমস্ত "উপস্থিত" হয় ডিবি - - এর সাথে পুরোপুরি যোগ্যতার প্রয়োজন নেই [master]..- এবং নির্বাহ করা হবে যেন তারা প্রতিটি ডিবিতে উপস্থিত থাকে) এবং সম্ভবত ব্যবহারকারী ডেটাবেজে কোয়েরি স্টোর দ্বারা পরিচালিত হয় যেখানে তাদের ডাকা হচ্ছে।


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