माइक सही है कि आपको जो त्रुटि संदेश मिल रहा है, वह प्रबंधन स्टूडियो अनुप्रयोग से ही है, न कि SQL सर्वर से। यह आपके स्थानीय वर्कस्टेशन पर मेमोरी है जो क्लाइंट एप्लिकेशन में 16 बिलियन पंक्तियों को खींचने की कोशिश करने के कारण समाप्त हो गई है, (इस बात का प्रतिपादन करना कि ग्रिड में बहुत अधिक डेटा मेमोरी के मामले में काफी महंगा है, इसलिए TOP
आदि का उपयोग करके अपने प्रश्नों को सीमित करने का प्रयास करें) । - मुझे नहीं पता कि आप अपनी सभी स्थानीय मेमोरी का उपयोग करने के लिए पर्याप्त डेटा के साथ क्या व्यावहारिक बात कर सकते हैं।
लेकिन मैं एक अन्य समस्या का समाधान करना चाहता हूं: स्मृति SQL सर्वर का उपयोग कर रहा है की मात्रा का आकलन करने के लिए कार्य प्रबंधक का उपयोग करना। यह मत करो; यह एक साहसिक सामना करना पड़ा है। इस उत्तर से नकल करना (आपका प्रश्न दो-गुना है, इसलिए मैं वास्तव में इसे डुप्लिकेट के रूप में बंद नहीं कर सकता):
आप बता सकते हैं, कभी भी टास्क मैनेजर आपको विश्वास नहीं दिलाता है कि SQL सर्वर कितनी मेमोरी का उपयोग कर रहा है। इसके लिए कार्य प्रबंधक का उपयोग करना बंद करें, अवधि। प्रदर्शन काउंटर का उपयोग करें - आप DMV का उपयोग करके प्रदर्शन काउंटर को क्वेरी भी कर सकते हैं:
SELECT object_name, cntr_value
FROM sys.dm_os_performance_counters
WHERE counter_name = 'Total Server Memory (KB)';
आप टूल> विकल्प> पर्यावरण> कीबोर्ड> क्वेरी शॉर्टकट में क्वेरी शॉर्टकट के रूप में सहेज सकते हैं, और कार्य प्रबंधक से गलत परिणाम प्राप्त करने की तुलना में क्वेरी विंडो में सटीक परिणाम प्राप्त कर सकते हैं।
आप इन प्रश्नों का उपयोग करके मेमोरी प्रेशर की जांच कर सकते हैं (और क्या आप इसके बारे में कुछ भी कर सकते हैं):
SELECT object_name, cntr_value
FROM sys.dm_os_performance_counters
WHERE counter_name IN ('Total Server Memory (KB)', 'Target Server Memory (KB)');
-- SQL Server 2012:
SELECT physical_memory_kb FROM sys.dm_os_sys_info;
-- Prior versions:
SELECT physical_memory_in_bytes FROM sys.dm_os_sys_info;
EXEC sp_configure 'max server memory';