Alex's answer (साइट्स के माध्यम से पुनरावृत्त -> पेज> वेब पार्ट्स) अच्छा है और ऐसा करने का 'सही' तरीका है लेकिन यह बहुत बड़ी साइट पर काफी महंगा है।
एक विकल्प एक डेटाबेस क्वेरी है। सभी सामान्य चेतावनी सीधे डेटाबेस तक पहुंचने के बारे में लागू होती हैं: कुछ भी नहीं बदलें, सर्विस पैक इत्यादि के साथ किसी भी समय तोड़ सकता है लेकिन मानते हैं कि हम यहां सभी बड़े लड़के हैं: -
सबसे पहले आपको WebPartTypeId पता लगाना होगा
में रुचि रखने वाले वेब भाग को अगली सामग्री डेटाबेस पर चलाएं।
SELECT DISTINCT D.SiteID, D.WebId, W.FullURL as WebURL, D.Id As DocumentId,
D.DirName, D.LeafName, tp_ID As WebPartSK
FROM dbo.Docs D WITH (nolock)
INNER JOIN dbo.Webs W WITH (nolock) ON D.WebID = W.Id
INNER JOIN dbo.WebParts WP WITH (nolock) ON D.Id = WP.tp_PageUrlID
WHERE WP.tp_ListId Is Null AND WP.tp_Type Is Null AND WP.tp_Flags Is Null
AND WP.tp_BaseViewID Is Null AND WP.tp_DisplayName Is Null
AND WP.tp_Version Is Null
AND WP.tp_WebPartTypeId='<your web parts id>'
आप इस दूसरी तरह के आसपास कर सकता है (प्रयोग में सभी WebPartTypeId के की एक सूची प्राप्त), लेकिन आप WebPartTypeId हैश से विधानसभा नाम नहीं मिल सकता है तो आप के देखने सूची में किसी प्रकार का क्या करना है जाएगा वेब पार्ट्स> टाइपिड।
@Ryan: हम नहीं जानते @ Active_t की पृष्ठभूमि तो मान्यताओं के बारे में ;-) जब डेटाबेस NOLOCK का उपयोग करने से पढ़ने गतिरोध को रोकने के लिए आवश्यक है और यह परिणाम गलत हो सकता है कि स्वीकार किया जाना चाहिए सावधान रहना होगा। बदले में प्रचार करने के लिए माफ़ी! –
मैंने लॉक संकेत जोड़ने के लिए संपादित किया है लेकिन हमें याद रखना होगा कि यह चांदी की बुलेट नहीं है और इसकी खुद की संभावित समस्याएं (असंगत स्थिति में डेटा) पेश करती है। क्या आपको डेडलॉक्स पैदा करने के मौके पर कोई अच्छा संदर्भ है? उस पर कुछ निश्चित उत्तर प्राप्त करना अच्छा होगा, लेकिन आश्चर्य की बात नहीं है कि आधिकारिक रेखा है ... नहीं। – Ryan
यह कहकर कि इस उदाहरण में असंगत डेटा पढ़ने के कारण होने वाली समस्याएं शायद काफी छोटी हैं। – Ryan