2009-03-05 22 views
7

मेरे पास एक वेब सेवा है जो अब कुछ वर्षों के लिए संशोधन के बिना ठीक चल रही है। अचानक आज यह निर्णय लेता है कि यह काम करना पसंद नहीं करेगा, और एक एसक्यूएल टाइमआउट फेंकता है:SQL सर्वर टाइमआउट समस्या निवारण

सिस्टम। डेटा.क्लक्लिएंट। एससीएलएक्सप्शन: टाइमआउट समाप्त हो गया। ऑपरेशन पूरा होने से पहले समय समाप्ति अवधि समाप्त हो गई है या सर्वर प्रतिक्रिया नहीं दे रहा है।

यह ध्यान रखना दिलचस्प है कि यह वेब सेवा डेटाबेस के समान सर्वर पर रहती है, और यह भी कि यदि मैं एसक्यूएल ट्रेस से क्वेरी खींचता हूं और इसे प्रबंधन स्टूडियो में चलाता हूं, तो यह एक सेकंड के भीतर आता है। लेकिन बिना किसी विफलता के वेब सेवा से कॉल होने पर 30 सेकंड के बाद यह समय समाप्त हो गया है। मैं डेटाबेस से कनेक्ट करने के लिए एंटरप्राइज़ लाइब्रेरी का उपयोग कर रहा हूं, इसलिए मैं कल्पना नहीं कर सकता कि यादृच्छिक रूप से विफल होना शुरू हो गया है।

मुझे पूरा यकीन नहीं है कि अचानक यह काम करना बंद कर सकता है। मैंने ऐप पूल का पुनर्नवीनीकरण किया है, और एसक्यूएल प्रक्रिया को फिर से शुरू किया है जिसे मैंने देखा था। वही व्यवहार किसी भी तरह से मैं इसका निवारण कर सकता हूं?

अद्यतन: मिच नाखून। जैसे ही मैंने स्पोक परिभाषा में "एएस" कीवर्ड से पहले "रिकॉम्पली के साथ" जोड़ा, यह वापस जीवन में आया। वाहवाही!

+0

@ क्रिस: कृपया ध्यान दें कि आपको रिकॉम्प्ली के साथ जोड़ना नहीं चाहिए जब तक कि यह आखिरी खाई की बात न हो। RECOMPILE के लिए उपयोग करना अधिक लक्षित है –

उत्तर

4

आपके द्वारा वर्णित लक्षण गलत तरीके से कैश किए गए क्वेरी प्लान के कारण 99.9% निश्चित हैं।

कृपया इन उत्तरों देखें:

जो सलाह शामिल अनुक्रमित के पुनर्निर्माण और यह सुनिश्चित करने के आँकड़े एक प्रारंभिक बिंदु के रूप में अप टू डेट हैं।

क्या आपके पास नियमित इंडेक्स रखरखाव नौकरी निर्धारित और सक्षम है?

विहित संदर्भ है: Slow in the Application, Fast in SSMS?

+0

आप, महोदय, मेरे नायक हैं। – Chris

1

किसी भी प्रासंगिक अनुक्रमित के पुनर्निर्माण।

1

अद्यतन आंकड़े, प्रोफाइलर में क्वेरी पर सेट विकल्प की जांच करें। एसएसएमएस विभिन्न कनेक्शन सेट विकल्पों का उपयोग कर सकता है।

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