Sp_procedure_params_90_roset এ অতিরিক্ত সংকলন ব্লক করা


14

এই প্রশ্নটির পুনরুত্থান এমএসডিএন: ব্লকড-প্রক্রিয়া-রিপোর্ট: এই ওয়েটারসোর্সটি কি "ওবিজেইসিটি: 32767: 124607697: 0 [সংকলন]"

আমি প্রোফাইলার এই বিবৃতি ধরা আছে। তাদের সকলের 3 সেকেন্ডেরও বেশি সময়সীমা রয়েছে। 10+ এরও বেশি। ব্লকিং ক্রিয়াকলাপ এমএসডিএন থেকে প্রাপ্ত লিঙ্কের সমান ।

সমস্ত কল 3 অংশ নামকরণ ব্যবহার করে। তারা নীচের মত দেখতে ফর্মটিতে একটি পৃথক প্রকল্প নির্দিষ্ট করে:

exec [db1].[sys].sp_procedure_params_90_rowset N'proc1', 1, NULL, NULL
exec [db2].[sys].sp_procedure_params_90_rowset N'proc2', 1, NULL, NULL
exec [db3].[sys].sp_procedure_params_90_rowset N'proc3', 1, NULL, NULL
exec [db4].[sys].sp_procedure_params_90_rowset N'proc4', 1, NULL, NULL

এই স্তরটি অবরুদ্ধ করতে কমাতে আমি কী করতে পারি?

(সম্পাদনা) আমি এখন একই জিনিসটি দেখতে পাচ্ছি:

exec [db1].[sys].sp_primary_keys_rowset N'view1', N'dbo'
exec [db2].[sys].sp_primary_keys_rowset N'view1', N'dbo'
exec [db3].[sys].sp_primary_keys_rowset N'view1', N'dbo'
exec [db4].[sys].sp_primary_keys_rowset N'view1', N'dbo'

সিস্টেমেটিক কিছু চলছে, তবে অন্য কী করব তা আমি জানি না। কলারটি এডিওর মাধ্যমে ভিবি 6। এটি এডিও এই কলগুলি করছে।

একটি উদাহরণ অবরুদ্ধ প্রক্রিয়া রিপোর্ট নীচে

 <blocked-process-report>
    <blocked-process>
        <process
            id="process5bc1288"
            taskpriority="0"
            logused="0"
            waitresource="OBJECT: 32767:124607697:0 [COMPILE]"
            waittime="28887"
            ownerId="11638114050"
            transactionname="sqlsource_transform">
            <executionStack>
                <frame
                    line="1"
                    sqlhandle="0x000000000000000000000000000000000000000000000000">
                    <sqltext>EXEC [dbo].[spAlertDetectByPoll] ':V:^RMAlert^:Z:^&amp;N&amp;#RMAlert#&amp;S&amp;#L#&amp;UID&amp;#19#&amp;AGN&amp;#1#&amp;DFC&amp;#103#^', 1</sqltext>
                </frame>
            </executionStack>
            <inputbuf>
SET NO_BROWSETABLE OFF   </inputbuf>
        </process>
    </blocked-process>
    <blocking-process>
        <process
            status="suspended"
            waitresource="OBJECT: 32767:124607697:0 [COMPILE]"
            waittime="35693"
            spid="1121"
            sbid="0"
            ecid="0"
            priority="0"
            trancount="0"
            lastbatchstarted="2013-12-16T14:45:48.960">
            <executionStack>
                <frame
                    line="1"
                    sqlhandle="0x000000000000000000000000000000000000000000000000" />
            </executionStack>
            <inputbuf>
SET NO_BROWSETABLE OFF   </inputbuf>
        </process>
    </blocking-process>
</blocked-process-report>

আপনার কাছে কি এসকিউএল সার্ভার ২০০৮ আর 2-এর জন্য সর্বাধিক সাম্প্রতিক সার্ভিস প্যাক এবং ক্রিয়াকলাপ আপডেট ইনস্টল করা আছে?
ম্যাক্স ভার্নন

এসপি 2 সিইউ 4 মাইক্রোসফ্ট এসকিউএল সার্ভার 2008 আর 2 (এসপি 2) - 10.50.4270.0 (এক্স 64)
ড্যান

কখন হতে শুরু হয়েছে? আপনি কি সম্প্রতি সার্ভিস প্যাকটি বা সংযোজনীয় আপডেট প্রয়োগ করেছেন? আমি ভিবি 6 / এডিও সমর্থন করছি এবং আমি মনে করি এই সিস্টেম প্রোকগুলি একবার বা দু'বার এসেছিল, তবে আমি মনে করি না যে কোনও ব্লকিংয়ের সমস্যা ছিল। আমার মনে হয় তারা এলো কারণ তারা প্রায়শই ডাকা হয়। আমি প্রার্থনা করি এটি এসপি / সিইউ-সম্পর্কিত নয় কারণ আমরা এখনও 10.50.2500 এ রয়েছি, এবং যদি এই জিনিসগুলি প্রতিটি 3-10 সেকেন্ড নেওয়া শুরু করে তবে তা মৃত্যু হতে পারে।
জন সেগেল

এটি অনেকের মধ্যে একটিকে পেস্টবিন পেস্টবিন . com/4 ডাব্লুউজিবি 9-তে রাখে । এটি প্রায় 2 বা 3 সপ্তাহ ধরে চলছে। আমরা দীর্ঘ সময়ের মধ্যে কোনও সিইউ প্রয়োগ করি নি। এটি এমএসডিএন পোস্ট দ্বারা তারিখ হিসাবে ২০১২ সালের প্রথম দিকে হয়েছিল happened
ড্যান হোমস

1
এটি কেবল লক্ষণ হতে পারে। RESOURCE_SEMAPHORE_QUERY_COMPILE এ আমার নিয়মিত অপেক্ষা করার অভ্যাস রয়েছে। আমি এই ওয়েটটাইপের সেরা চিকিত্সাটি এখানে পেয়েছি: ব্লগস.এমএসডিএন
ড্যান

উত্তর:


2

একটা চমৎকার ব্লগ পোস্ট http://blogs.msdn.com/b/support_sql_france/archive/2012/02/07/sql-server-compilation-gateways-and-resource-semaphore-query-compile.aspx যে ব্যাখ্যা কি ঘটছে।

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

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

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

আশা করি এইটি কাজ করবে

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