2010-11-30 14 views
7

मैं सभी डेटाबेस में सभी प्रक्रियाओं/कार्यों आदि में विशिष्ट पाठ खोजना चाहता हूं। मैं इस answer से आवश्यक क्वेरी बनाने में कामयाब रहा लेकिन ऐसा लगता है कि OBJECT_DEFINITION (OBJECT_ID (SPECIFIC_NAME)) वर्तमान डी को छोड़कर सभी डीबी के लिए शून्य देता है।सभी डेटाबेस में संग्रहित प्रक्रियाओं/कार्यों की खोज करें

sp_msforeachdb 'SELECT ''?'' AS DB, SPECIFIC_NAME, OBJECT_DEFINITION(OBJECT_ID(SPECIFIC_NAME)) FROM [?].INFORMATION_SCHEMA.ROUTINES' 

उत्तर

3

समस्या यह है कि OBJECT_ID का उपयोग इस तरह से नहीं किया जा सकता है। यह केवल वर्तमान डेटाबेस पर काम करता है। सीधे INFORMATION_SCHEMA.ROUTINES से ROUTINE_DEFINITION लौटने का प्रयास करें। इसमें 4000 वर्णों की सीमा है। मैं एसओ पर अपना दूसरा जवाब खोजने की कोशिश करूंगा जो एमएस मेटाडेटा विचारों का उपयोग करके अपना कामकाज देता है।

Can you search SQL Server 2005 Stored Procedure content?

+0

धन्यवाद। लिंक दिखाता है कि sys.sql_modules का उपयोग कैसे करें। – JKJKJK

1

इस कोशिश: - यह मुफ्त है, और पूरी तरह से महान और पूरी तरह से

select * from syscomments where [text] like '%yourKeyword%' 
12

आप बिल्कुल लाल गेट के SQL Search उपकरण की जरूरत है

इस पर एक नज़र डालें इस आवश्यकता के लिए उपयुक्त है।

alt text

+0

यह उपयोगी होगा। धन्यवाद। – JKJKJK

+0

बिल्कुल अद्भुत उपकरण, धन्यवाद भाई। – ron

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