2011-06-15 8 views
13

मैं 2008R2 के लिए एक विरासत SQLS2k माइग्रेट कर रहा हूं, और ऐसा लगता है कि संग्रहीत प्रोसेस के माध्यम से सभी डेटा एक्सेस किया गया था, और कोई भी कस्टम क्वेरी विरासत *==* बाहरी शामिल वाक्यविन्यास का उपयोग करती है। सौ से अधिक प्रोसेस हैं, इसलिए मैं यह देखने के लिए अलग-अलग नहीं खोलना चाहता हूं कि यह सिंटैक्स का उपयोग करता है (अधिकतर नहीं), क्या कोई तरीका है कि मैं प्रोसेस/फ़ंक्शंस/दृश्यों की सूची के लिए मेटाडेटा से पूछताछ कर सकता हूं/ट्रिगर्स, फिर *= या =* स्ट्रिंग्स के लिए खोज कर लूप करें, अपमानजनक ऑब्जेक्ट का नाम प्रिंट करें?एक स्ट्रिंग के लिए एसक्यूएल सर्वर 2008 आर 2 संग्रहीत प्रक्रियाओं को कैसे खोजा जाए?

मेरी पृष्ठभूमि ऑरैकल है, मुझे पता है कि वहां मेटाडेटा दृश्य कैसे ढूंढें, लेकिन मैं एसक्यूएल सर्वर के लिए थोड़ा नया हूं। संगतता संस्करण को डाउनग्रेड करना एक विकल्प नहीं है।

धन्यवाद!

+0

खुशी है कि आप इसे ठीक कर रहे हैं, एसक्यूएल एसएसरवर 2000 में भी कोड का उपयोग कभी नहीं किया जाना चाहिए क्योंकि यह अविश्वसनीय है और हमेशा बाहरी जुड़ाव नहीं करता है, कभी-कभी यह एक क्रॉस में शामिल होता है। उम्मीद है कि एक ही समय में आप उन प्रश्नों में अन्य सभी अंतर्निहित जोड़ों को हटा रहे हैं, जो अंतर्निहित मिश्रण और विस्फोट के साथ-साथ मुद्दों का भी कारण बन सकते हैं। लागू शामिल एक एसक्यूएल antipattern वैसे भी हैं और किसी भी डेटाबेस में इस्तेमाल नहीं किया जाना चाहिए। उदाहरणों के लिए लिंक देखें: http: //stackoverflow.com/questions/1080097/the-multi-part-identifier-could-not-be-bound-on-sql-server-2008/1080407#1080407 – HLGEM

उत्तर

29

Free Red Gate SQL Search?

या क्वेरी sys.sql_modules

SELECT OBJECT_NAME(object_id) 
FROM sys.sql_modules 
WHERE definition LIKE '%=*%' OR definition LIKE '%*=%' 

नोट: INFORMATION_SCHEMA विचारों और syscomments तो परिभाषा काटना अविश्वसनीय हैं।

+0

लाल- गेट एसक्यूएल सर्च - डीबी प्रोग्रामर (और डीबीए) के लिए बिल्कुल अनिवार्य और * मुफ़्त * उपकरण! –

+1

@marc_s: मुझे लगता है कि आपको कमीशन मिल रहा है ... लेकिन यह मुफ़्त है .. – gbn

+0

सही! स्वीकृत :) केवल परेशानी यह है कि यह मुझे बताता है कि मेरे सभी जर्नल ट्रिगर पुराने वाक्यविन्यास का उपयोग करते हैं ... एफएमएल! – matao

2

प्रश्नों का उपयोग करने में समस्या यह है कि यदि आप डीएसी कनेक्शन प्रकार चला रहे हैं तो संग्रहीत प्रक्रिया एन्क्रिप्टेड होने पर ये काम नहीं करते हैं।

यह वह जगह है जहां तीसरा पक्ष उपकरण काम में आता है क्योंकि वे बिना किसी परेशानी के ऐसा करने में आपकी सहायता करते हैं। मैं ApexSQL Search का उपयोग कर रहा हूं जो कि मुफ़्त है लेकिन मुझे लगता है कि आप लाल गेट या किसी अन्य उपकरण के साथ गलत नहीं जा सकते हैं।

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