2009-09-30 12 views
17

मैं SQL सर्वर 2008 एंटरप्राइज़ + सी # + ADO.Net + .NET 3.5 का उपयोग कर रहा हूं। मैं सक्रिय कनेक्शन नंबर खोजने के लिए sp_who2 या sys.dm_exec_connections का उपयोग कर रहा हूं (मुझे बताएं कि सक्रिय कनेक्शन नंबर खोजने के लिए मेरी विधि गलत है)। कुछ भारी डेटाबेस उपभोक्ता अनुप्रयोग के लिए, मुझे सक्रिय कनेक्शन गिनती भी मिल सकती है> 1000.SQL सर्वर कनेक्शन गिनती की कोई सीमा?

मुझे आश्चर्य है कि क्या SQL सर्वर की सक्रिय कनेक्शन संख्याओं की ऊपरी सीमा सीमाएं हैं? पहले से

धन्यवाद, जॉर्ज

उत्तर

25

यह एक प्रति-उदाहरण के लिए, प्रति डेटाबेस नहीं, विन्यास है। आप वर्तमान मूल्य को sys.configurations में देख सकते हैं और इसे sp_configure के साथ बदल सकते हैं। प्रासंगिक विकल्प user connections है:

एक साथ उपयोगकर्ता कनेक्शन Microsoft SQL सर्वर पर अनुमति की अधिकतम संख्या निर्दिष्ट करने के लिए उपयोगकर्ता कनेक्शन विकल्प का उपयोग करें। वास्तविक उपयोगकर्ता कनेक्शन की संख्या भी आपके द्वारा उपयोग किए जा रहे SQL सर्वर और की सीमा या आपके अनुप्रयोग या अनुप्रयोगों और हार्डवेयर के संस्करण पर निर्भर करती है। SQL सर्वर 32,767 उपयोगकर्ता कनेक्शन के अधिकतम को अनुमति देता है।

1000 कनेक्शन बहुत अधिक संख्या नहीं है। उच्च अंत सिस्टम पर सर्वर एकाधिक बंदरगाहों affinitized to NUMA नोड्स पर सुन सकता है और प्रत्येक नोड से जुड़े सैकड़ों और हजारों ग्राहक हैं।

ध्यान दें कि कनेक्शन की संख्या , यानी अनुरोधों से अलग है। सक्रिय रूप से कुछ निष्पादित कनेक्शन, sys.dm_exec_requests। प्रत्येक अनुरोध के लिए एक या अधिक श्रमिकों की आवश्यकता होती है और max worker threads विकल्प के साथ श्रमिकों की संख्या कॉन्फ़िगर की जाती है।

+0

बहुत बढ़िया है, मुझे थोड़ी देर के लिए अध्ययन करने दें। :-) – George2

+1

मुझे भी :) मैंने हमेशा यह स्वीकार किया कि 32k + उपयोगकर्ता स्लॉट कभी चिंता नहीं करेंगे, लेकिन ये विवरण वास्तव में अच्छे विवरण हैं। –

+0

धन्यवाद निसान, मैंने निम्नलिखित लिंक का अध्ययन किया, http://msdn.microsoft.com/en-us/library/ms143432.aspx, मेरा सबसे भ्रम है - "प्रति कनेक्शन कनेक्शन" और "उपयोगकर्ता कनेक्शन" के बीच अंतर क्या है "? – George2

3

http://msdn.microsoft.com/en-us/library/ms143432.aspx

32.767 डेटाबेस प्रति अधिकतम सीमा नहीं है।

मैं यह कर देंगी:

SELECT 
    COUNT(*) 
FROM 
    master.dbo.syslockinfo 
WHERE 
    DB_NAME(rsc_dbid) = 'your_database_name' 
+0

क्या सक्रिय कनेक्शन नंबर खोजने का मेरा तरीका सही है? यदि हां, तो क्या आपका मतलब है कि मुझे जो संख्या मिलती है वह 32,767 से अधिक नहीं होनी चाहिए? – George2

+0

मैं बस यह सुनिश्चित करना चाहता हूं कि मुझे जो कनेक्शन नंबर मिल रहा है वह वही बात है जैसा आपने कहा था। :-) – George2

+0

आपके निर्दिष्ट एमएसडीएन दस्तावेज़ से, मेरा सबसे भ्रम है - "प्रति कनेक्शन कनेक्शन" और "उपयोगकर्ता कनेक्शन" के बीच अंतर क्या है? – George2

संबंधित मुद्दे