Sp_AskBrent का आउटपुट कैसे निर्यात करें?


11

हमारे पास एक उदाहरण है जो सीपीयू को बेतरतीब ढंग से फैलाता है। मैं एक अलर्ट बनाना चाहता हूं जो 90% से अधिक CPU पर आग लगाता है और स्वचालित रूप से एक नौकरी कहता है जो sp_AskBrentमुझे आउटपुट चलाता है और ईमेल करता है। हालाँकि, आउटपुट पाठ या HTML आउटपुट में अप्राप्य है। यह एक्सेल स्प्रेड शीट में अच्छी तरह से नहीं जाता है। मुझे एक पठनीय प्रारूप में जानकारी कैसे मिल सकती है?


3
आप PowerShell के तहत इसे चलाने के लिए किसी अन्य प्रश्न पर मेरे उत्तर की जांच कर सकते हैं , यह डेटा की HTML रिपोर्ट आउटपुट करेगा। SQL सर्वर के संस्करण के आधार पर आप इसे SQL एजेंट कार्य (PowerShell चरण) के रूप में सेट कर सकते हैं, फिर फ़ाइल को ईमेल करने के लिए PS कोड में जोड़ें।

@ शॉनमेलन हाँ, मैं यहाँ पोस्ट करने के लिए आया था कि, साथ ही इसे चलाने वाले पावरहेल्ड तब एडहॉक स्वरूपण करने के लिए काफी तुच्छ हैं।
कांस्टेंटाइनके

जवाबों:


13

अलर्ट EXEC msdb.dbo.sp_send_dbmailको @queryपैरामीटर के साथ चलने वाली नौकरी बनाएं :

EXEC dbo.sp_send_dbmail @profile_name = 'mail_profile'
    , @recipients = 'some@mail.com'
    , @subject = 'some subject'
    , @body = 'the body text goes here'
    , @query = 'EXEC sp_AskBrent;'
    , @attach_query_result_as_file = 1;

@attach_query_result_as_file = 1पैरामीटर पाठ प्रारूप में एक लगाव है, जो निश्चित रूप से पठनीय होना चाहिए के रूप में परिणाम भेज देंगे। यदि आप चाहते हैं, तो आप @query_result_separatorपैरामीटर का उपयोग करके अल्पविराम-सीमांकित प्रारूप में परिणाम निर्यात कर सकते हैं ।

इसके लिए MSDN पृष्ठ सेsp_send_dbmail :

यह उदाहरण ई-मेल पते danw@Advt-Works.com का उपयोग करके डैन विल्सन को एक ई-मेल संदेश भेजता है। संदेश में विषय वर्क ऑर्डर काउंट है, और 30 अप्रैल, 2004 के बाद दो दिनों से कम समय के साथ कार्य आदेशों की संख्या को दर्शाने वाली क्वेरी निष्पादित करता है। डेटाबेस मेल एक पाठ फ़ाइल के रूप में परिणाम संलग्न करता है।

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'Adventure Works Administrator',
    @recipients = 'danw@Adventure-Works.com',
    @query = 'SELECT COUNT(*) FROM AdventureWorks2012.Production.WorkOrder
                  WHERE DueDate > ''2004-04-30''
                  AND  DATEDIFF(dd, ''2004-04-30'', DueDate) < 2' ,
    @subject = 'Work Order Count',
    @attach_query_result_as_file = 1 ;

उस संग्रहीत खरीद के लिए कई विकल्प हैं; MSDN पृष्ठ की जाँच करें और संभावना है कि आपको आउटपुट मिलेगा कि आप इसे कैसे चाहते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.