SQL सर्वर प्रबंधन स्टूडियो (SSMS) के भीतर गतिविधि मॉनिटर में SQLCLR प्रतीक्षा प्रकार क्या है?


10

जब मैं हमारे SQL प्रोडक्ट सर्वर की जांच करता हूं, तो हर बार जब मैं गतिविधि मॉनिटर खोलता हूं, तो मैं हमेशा एक्टिविटी मॉनिटर SQLCLRमें संसाधन प्रतीक्षा अनुभाग पर पहली सूची देखता हूं । इसकी हमेशा उच्च संख्या होती है। किस SQLCLRलिए है? क्या यह सर्वर के लिए खराब SQLCLRहै जो गतिविधि की निगरानी में उच्च संसाधन प्रतीक्षा संख्या के साथ है?

जवाबों:


11

SQLCLR SQL सर्वर के भीतर .NET कोड को चलाने की क्षमता है।

जब लोग SQLCLR की बात करते हैं तो वे आमतौर पर कस्टम .NET कोड (स्टोर की गई प्रक्रिया, कार्य, ट्रिगर, उपयोगकर्ता-परिभाषित प्रकार और उपयोगकर्ता-परिभाषित समूह) लिखने की क्षमता का उल्लेख कर रहे हैं। इस स्थिति में, इस क्षमता को "clr enable" के सर्वर विकल्प के माध्यम से चालू और बंद किया जा सकता है sp_configure, और मुझे विश्वास है कि इसे सरफेस एरिया कॉन्फ़िगरेशन GUI में "CLR इंटीग्रेशन" कहा जाता है। .NET कार्यक्षमता जोड़ना SQL सर्वर में संकलित .NET कोड को लोड करने के लिए CREATE ASSEMBLY का उपयोग करना आवश्यक है ।

हालाँकि, यहां तक ​​कि "clr enable" विकल्प सेट 0/ "off" / "अक्षम" के साथ भी, CLR कार्यक्षमता अभी भी आंतरिक कार्यक्षमता और कुछ अंतर्निहित कार्यों के लिए उपयोग की जाती है और हमेशा रहेगी, जब तक कि "विंडोज़ फाइबर का उपयोग न करें" / " हल्के पूलिंग "विकल्प सक्षम है।

SQLCLR क्या है, यह बहुत विस्तृत विवरण के लिए है, और यह क्या कर सकता है, कृपया इस लेख को देखें जो मैंने इस विषय पर SQL सर्वर सेंट्रल पर लिखा था: Stairway to SQLCLR Level 1: SQLCLR क्या है? (उस साइट पर सामग्री को देखने के लिए मुफ्त पंजीकरण आवश्यक है)। उस आलेख का एक स्ट्रिप-डाउन संस्करण निम्नलिखित StackOverflow उत्तर में उपलब्ध है: हमें SQL सर्वर में CLR फ़ंक्शन की आवश्यकता कब होती है?

यदि आप यह जानना चाहते हैं कि क्या उदाहरण के लिए कस्टम .NET कोड को डेटाबेस में जोड़ने की अनुमति है या नहीं , तो निम्नलिखित रन करें और "run_value" फ़ील्ड देखें:

EXEC sp_configure 'clr enabled';

रिसोर्स मॉनिटर में SQLCLR प्रतीक्षा प्रकार के अर्थ के संबंध में, कृपया निम्नलिखित ब्लॉग पोस्ट देखें:

यह कैसे काम करता है: SQL Server 2008 गतिविधि मॉनिटर में SQLCLR प्रतीक्षा श्रेणी के पीछे क्या है

और मेरा मानना ​​है कि उस पोस्ट से पर्टेंट लाईन (जैसा कि आप जिस SQLCLR श्रेणी को देख रहे हैं) से संबंधित है:

मैंने जो पाया वह यह था कि वाट्सएप के कई फीचर्स को नजरअंदाज किया जाना चाहिए क्योंकि वे अपेक्षित इंतजार कर रहे हैं।


यह SQL2008 है, और माना जाता है कि इसे ठीक किया जाना था (लिंक किए गए लेख के आधार पर)। ओपी ने एसक्यूएल 2012 को हरी झंडी दिखाई है। मैं सिर्फ उसी चीज को देख रहा हूं जैसे मेरे लिए एसक्यूसीएलआर 3000ms + -1 पर स्थिर बैठा है और हम इसका उपयोग नहीं कर रहे हैं।
रोजर विलकॉक

@RogerWillcocks अनुसूचित होने का मतलब हमेशा यह नहीं होता है कि इसे ठीक कर दिया जाएगा। यदि आप उस लिंक की गई पोस्ट पर टिप्पणियों के माध्यम से पढ़ते हैं, तो आप लोगों को रिपोर्ट करते हुए देखेंगे कि यह अभी भी 2012 के SP1 और SP2 में एक समस्या है। SSMS के किस संस्करण का उपयोग कर रहे हैं? यह देखने के लिए कि क्या आप देख रहे हैं, यह देखने के लिए निम्न (अगली टिप्पणी) चलाएं। इसके अलावा, कई अंतर्निहित विशेषताएं हैं जो SQLCLR का उपयोग करती हैं, जैसे कि ज्यामिति, भूगोल, और पदानुक्रम प्रकार; FORMAT कमांड, और कुछ अन्य सामान।
सोलोमन रटज़की

2
SELECT * FROM sys.dm_os_wait_stats WHERE wait_type IN ('CLR_AUTO_EVENT', 'CLR_CRST', 'CLR_JOIN', 'CLR_MANUAL_EVENT', 'CLR_MEMORY_SPY', 'CLR_MONITOR', 'CLR_RWLOCK_READER', 'CLR_RWLOCK_WRITER', 'CLR_SEMAPHORE', 'CLR_TASK_START', 'CLRHOST_STATE_ACCESS', 'ASSEMBLY_LOAD', 'FS_GARBAGE_COLLECTOR_SHUTDOWN', 'SQLCLR_APPDOMAIN', 'SQLCLR_ASSEMBLY', 'SQLCLR_DEADLOCK_DETECTION', 'SQLCLR_QUANTUM_PUNISHMENT') ORDER BY wait_time_ms DESC, wait_type ASC;
सोलोमन रटज़की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.