से संग्रहीत प्रक्रिया की सूची मेरे पास 100 टेबल और संग्रहित प्रक्रियाओं के साथ एक विशाल डेटाबेस है। SQL सर्वर 2005 का उपयोग करके, मैं संग्रहीत प्रक्रियाओं की एक सूची कैसे प्राप्त कर सकता हूं जो किसी दिए गए तालिका पर सम्मिलित या अद्यतन ऑपरेशन कर रहे हैं।तालिका
तालिका
उत्तर
select
so.name,
sc.text
from
sysobjects so inner join syscomments sc on so.id = sc.id
where
sc.text like '%INSERT INTO xyz%'
or sc.text like '%UPDATE xyz%'
यह आपको (आपको स्पष्ट रूप से सूट करने के लिए क्वेरी ठीक कर सकते हैं) एक विशेष तालिका के लिए सम्मिलित करें या उन में अद्यतन के साथ सभी संग्रहीत प्रक्रिया सामग्री की एक सूची दे देंगे। लौटा रिकॉर्डसेट में कई पंक्तियों में भी लंबी प्रक्रियाएं तोड़ दी जाएंगी, इसलिए आपको परिणामों के माध्यम से कुछ मैन्युअल सिफ्टिंग करने की आवश्यकता हो सकती है।
संपादित करें: एसपी नाम को वापस करने के लिए ट्वीड क्वेरी भी। साथ ही, उपर्युक्त क्वेरी किसी भी यूडीएफ के साथ-साथ एसपी को वापस कर देगी।
आप अपनी सभी संग्रहीत प्रक्रियाओं को एक टेक्स्ट फ़ाइल में निर्यात करने का प्रयास कर सकते हैं और फिर एक साधारण खोज का उपयोग कर सकते हैं।
एक और उन्नत तकनीक प्रविष्टियों से सभी चयन और INSERT खोजने के लिए regexp खोज का उपयोग करना होगा।
SELECT Distinct SO.Name
FROM sysobjects SO (NOLOCK)
INNER JOIN syscomments SC (NOLOCK) on SO.Id = SC.ID
AND SO.Type = 'P'
AND (SC.Text LIKE '%UPDATE%' OR SC.Text LIKE '%INSERT%')
ORDER BY SO.Name
This link एसपी खोज के लिए संसाधन के रूप में उपयोग किया गया था।
यह काम करने के लिए लगता है:
select
so.name as [proc],
so2.name as [table],
sd.is_updated
from sysobjects so
inner join sys.sql_dependencies sd on so.id = sd.object_id
inner join sysobjects so2 on sd.referenced_major_id = so2.id
where so.xtype = 'p' -- procedure
and is_updated = 1 -- proc updates table, or at least, I think that's what this means
आप Vyaskn की वेबसाइट से डाउनलोड sp_search_code यदि यह आप अपने डेटाबेस वस्तुओं के भीतर किसी भी पाठ को खोजने के लिए अनुमति देगा।
http://vyaskn.tripod.com/sql_server_search_stored_procedure_code.htm
sys.sql_dependencies
तालिकाओं और स्तंभों कि एक sproc प्रश्नों में शामिल सहित निर्भरता, साथ संस्थाओं की एक सूची है। this post देखें जो एक क्वेरी के उदाहरण के लिए निर्भरता प्राप्त करता है। नीचे दिए गए कोड स्निपेट को संग्रहीत प्रक्रिया
select sp.name as sproc_name
,t.name as table_name
,c.name as column_name
from sys.sql_dependencies d
join sys.objects t
on t.object_id = d.referenced_major_id
join sys.objects sp
on sp.object_id = d.object_id
join sys.columns c
on c.object_id = t.object_id
and c.column_id = d.referenced_minor_id
where sp.type = 'P'
[एमएसडीएन लाइब्रेरी] (http://msdn.microsoft.com/en-us/library/ms174402.aspx) कहता है कि अब इसे बहिष्कृत किया गया है और sys.sql_expression_dependencies के साथ प्रतिस्थापित किया जाना चाहिए। दुर्भाग्य से मैं काम के बराबर नहीं मिल सकता। उत्तर में दिखाए गए क्वेरी में d.object_id अब मौजूद नहीं है। मैंने d.referencing_id की कोशिश की लेकिन यह भी काम नहीं किया। Sql_expression_dependencies का उपयोग करने के लिए कोई विचार है? – Drew
'sys.sql_expression_dependencies' पर,' referencing_id' वह आइटम है जो लक्ष्य का संदर्भ देता है, और 'संदर्भित_आईडी' निर्भरता है। तालिका में संदर्भित इकाइयों के लिए तालिका में स्कीमा और इकाई नाम भी हैं। माइनर आईडी कॉलम नंबरों का संदर्भ लेते हैं, 0 के साथ कोई विशेष कॉलम संदर्भ नहीं दर्शाता है। – ConcernedOfTunbridgeWells
मुझे लगता है कि मेरे पास यह सब नीचे है। मुझे लगता है कि मुद्दा यह है कि मेरी सभी sql_expression_dependencies पंक्तियों में referenced_minor_id के लिए 0 है। Sql_dependencies की समान क्वेरी ने कई गैर-शून्य पंक्तियों को वापस कर दिया और मुझे आश्चर्य है कि परिणाम उतने अलग हैं जितना वे हैं। ऐसा लगता है कि प्रभावी रूप से sql_expression_dependencies बहुत कम उपयोगी बनाता है क्योंकि मैं अक्सर देखना चाहता हूं कि कौन से स्पॉक्स एक विशिष्ट कॉलम का संदर्भ दे रहे हैं। संदर्भ के लिए, मैंने दोनों संदर्भों से एक चुनिंदा गिनती (*) की है जहां referenced_minor_id <> 0. sql_dependencies में 3811 9 ऐसी पंक्तियां हैं, और 112 sql_expression_dependencies में हैं। – Drew
- 1. तालिका = तालिका बनाम तालिका। डेटा (तालिका)
- 2. कोणीय तालिका तालिका पुनरावृत्ति
- 3. आभासी तालिका/प्रेषण तालिका
- 4. तालिका तालिका चौड़ाई = 100%
- 5. ड्रॉप तालिका अस्थायी तालिका
- 6. तालिका
- 7. तालिका
- 8. तालिका
- 9. तालिका
- 10. तालिका
- 11. तालिका
- 12. तालिका
- 13. तालिका
- 14. तालिका
- 15. तालिका
- 16. तालिका
- 17. तालिका
- 18. तालिका
- 19. तालिका
- 20. तालिका
- 21. तालिका
- 22. तालिका
- 23. तालिका
- 24. तालिका
- 25. PHP तालिका में PHP तालिका
- 26. वास्तविक तालिका बनाम। डिव तालिका
- 27. संदर्भ तालिका और संदर्भित तालिका
- 28. तालिका तालिका को नई तालिका में कॉपी करें
- 29. तालिका तालिका से तालिका अपडेट करें जहां (शर्तें)
- 30. डेटाबेस - तथ्य तालिका और आयाम तालिका
यह मुझे एसपी आईडी दे रहा है ... क्या मैं इस आईडी के साथ एसपी नाम तक पहुंच सकता हूं? – Vinodtiru
हां, मैंने उसमें शामिल करने के लिए क्वेरी को tweaked किया है। मैं देखता हूं कि अब कुछ अन्य उत्तरों पोस्ट किए गए हैं जो आपको भी मिलेंगे। –
मेरा उत्तर यहां: http://stackoverflow.com/questions/119679/list-of-stored-procedure-from-table#119719 लगभग समान है (रिटर्न नाम)। हालांकि, मुझे लगता है कि ल्यूक सही है कि मेरे उत्तर –