2011-11-18 15 views
5

SQL सर्वर 2008 R2 में संग्रहीत प्रक्रिया से समानांतर में क्वेरी निष्पादित करने के लिए मूल समर्थन है? मैं ऐसा करने का उदाहरण देखा है लेकिन वे जो है जो मैं से बचना चाहते हैं गैर देशी CLR प्रक्रियाओं को स्थापित करने की आवश्यकता होती है उदाहरणसमानांतर प्रश्नों के लिए मूल TSQL समर्थन

create proc dbo.MySproc 
as 
    delete from SomeTable where Predicate = true [as parallel] 
    delete from AnotherTable where Predicate = false [as parallel] 

    [wait for queries] 

    select * from SomeTable join AnotherTable on Predicate = true 

के लिए इस छद्म कोड है।

नोट: मैं निष्पादन योजनाओं के बारे में बात नहीं कर रहा हूं, मेरा मतलब है कि एक ही समय में दो गैर-संबंधित प्रश्नों को चलाना, एक दूसरे के बाद नहीं।

+0

आप उन्हें बैच फ़ाइल से आग लगा सकते हैं। मैं इसे कुछ प्रक्रियाओं में करता हूं। Proc1 Proc2 Proc3 सभी समानांतर में निष्पादित होते हैं और फ़्लैगिंग तालिका को अपडेट करते हैं, प्रो 4 आग लगती है जब सभी 3 झंडे सेट होते हैं – JNK

+0

क्या आप बैच फ़ाइल को osql के माध्यम से चलाने में हैं? –

+0

हां। यदि आप 'स्टार्ट' का उपयोग करते हैं तो बैच फ़ाइल पूरा होने के इंतजार किए बिना कमांड को लात देगी, और आपको – JNK

उत्तर

6

नहीं, समांतरता को नियंत्रित करने के लिए कोई टी-एसक्यूएल वाक्यविन्यास नहीं है।

ऐसे कुछ गेम हैं जो आप कुछ समान पाने के लिए खेल सकते हैं लेकिन उन्हें सभी को एक गैर टी-एसक्यूएल इकाई की आवश्यकता होती है। उदाहरण के लिए, एसक्यूएल सर्वर जॉब्स, सीएलआर एसपी जो कई धागे उत्पन्न करते हैं, सी # ऐप जो धागे को फैलाता है, टी-एसक्यूएल इत्यादि को निष्पादित करने के लिए एसक्यूएलसीएमडी का उपयोग करता है

+0

+1 जो मैं देख रहा हूं। धन्यवाद। –

2

How can I run sql server stored procedures in parallel? - यह संग्रहित प्रक्रियाओं के बारे में है, लेकिन शायद आपको कुछ उपयोगी मिलेगा।

+0

+1 की आवश्यकता के रूप में कई 'ओएसक्ल' सत्र लॉन्च करेंगे, जब मैं अंदर जाता हूं और देखता हूं कि यह डीबीए से बात करेगा कुछ हम कर सकते हैं। –

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