2011-09-15 6 views
22

मेरे पास SQL ​​Server 2008 में कोई जॉब सेटअप है जो नौकरी विफल होने पर एक ऑपरेटर को अधिसूचना ईमेल भेजता है।SQL सर्वर एजेंट जॉब विफलता पर एकाधिक ऑपरेटरों को सूचित करें

प्रश्न: क्या उस विशिष्ट नौकरी के लिए एकाधिक ऑपरेटरों को एक अधिसूचना ईमेल भेजा जा रहा है?

मेरा मानना ​​है कि इसके लिए एक संभावित कामकाज प्रत्येक दी गई गंभीरता के लिए डेटाबेस के लिए बहुत सारे अलर्ट बनाना है, लेकिन मुझे उम्मीद थी कि ऐसा करने के लिए एक और संक्षिप्त तरीका था। अगर मैं इस मार्ग पर जाना चाहता हूं, तो असफल नौकरी से गंभीरता की त्रुटियों की संभावना क्या होगी? (मुझे नहीं लगता कि मुझे ऐसा कुछ करने के लिए सभी 25 की आवश्यकता होगी)

क्या यह विफलता पर अधिसूचित करने के लिए अधिक ऑपरेटरों को जोड़ने के लिए एसक्यूएल कमांड के माध्यम से किया जा सकता है? यूआई के माध्यम से आप केवल एक ऑपरेटर चुनने में सक्षम हैं।

+0

आईआईआरसी यदि आप किसी भी अच्छे हैं तो आप व्यक्तिगत ऑपरेटरों को एकाधिक ईमेल पते के साथ परिभाषित कर सकते हैं? –

+0

मेरे पास ऐसा नहीं है लेकिन मुद्दा यह है कि आप नौकरी – Mike

+0

के अधिसूचना अनुभाग में केवल एक ही ऑपरेटर का चयन कर सकते हैं हां, मुझे नहीं लगता कि आप जो चाहते हैं उसे करने का एक तरीका है। जब मैं कई लोगों को सतर्क करना चाहता हूं तो मैंने याद किया है कि मैंने एक नया ऑपरेटर स्थापित किया है। '[msdb]। [dbo]। [sysjobs] के पास 'ऑपरेटर_आईडी' के लिए कॉलम हैं जो उन्हें एक अलग तालिका में होने के बजाय 1 से अधिक का समर्थन करेंगे। –

उत्तर

26

मुझे विश्वास नहीं है कि यह संभव है।

निश्चित रूप से [msdb].[dbo].[sysjobs] की संरचना विभिन्न operator_id कॉलम इस तालिका में ही जो विचार का समर्थन होता है कि कई लोगों के लिए 1 संभव नहीं है में हैं पर देख रहे हैं।

आप अर्ध कोलन ईमेल पते की सीमित सूची के साथ एक नया ऑपरेटर बना सकते हैं। sysoperators की परिभाषा को देखते हुए यह स्ट्रिंग्स के लिए अच्छा है जो nvarchar(100) में फिट हो सकते हैं यदि आपको इससे अधिक की आवश्यकता है तो आप शायद एक्सचेंज या जो भी हो, पर एक ईमेल समूह स्थापित कर सकते हैं।

+1

हम ईमेल समूह विधि (एक्सचेंज वितरण सूची) का उपयोग कर रहे थे, जहां तक ​​मैं काम करता हूं, जब तक कि एक्सएल के लिए हमारी सुरक्षा नीति एक्सचेंज पक्ष पर बदल दी गई हो, "सभी प्रेषक प्रमाणीकृत हैं" की आवश्यकता है। व्यक्तिगत ईमेल पते पर अधिसूचनाएं अभी भी काम करती हैं, इसलिए यह एक आसान (उम्मीदवार अस्थायी) कामकाज रहा है। हालांकि 100 अक्षरों को अंतरिक्ष का पूरा खोना नहीं है। एक विचार देने के लिए, केवल 3 ईमेल पते हमें 56 वर्णों में लाए। – Voysinmyhead

+0

कृपया यह उत्तर देखें, यदि यह सत्य है, तो कृपया इस उत्तर को हटाएं, EXSUTE msdb.dbo.sp_update_operator @email_address = N'[email protected]; [email protected] '; – AppleBook89

+0

@apple यह नीचे दिए गए उत्तर जैसा ही है। "संभव नहीं" एकाधिक ऑपरेटरों का जिक्र कर रहा है जो एकाधिक ईमेल पते नहीं हैं। –

24

यदि इरादा यह है कि यदि कोई नौकरी विफल हो जाती है तो आपके संगठन में कई लोगों को अधिसूचित किया जाना चाहिए, तो आप प्रत्येक मेलबॉक्स को अर्धविराम से अलग करके एकाधिक मेलबॉक्स शामिल करने के लिए ऑपरेटर का ईमेल पता बदल सकते हैं।

मैं अपने अधिसूचित ऑपरेटर संभालने हूँ JobWatcher कहा जाता है: जब काम में विफल रहता है

EXECUTE msdb.dbo.sp_update_operator 
    @name = N'JobWatcher', 
    @email_address = N'[email protected];[email protected]'; 

अब [email protected] और [email protected] मेल प्राप्त होगा।

+4

यह सही है हालांकि किसी ने पहले से ही कहा है कि फ़ील्ड केवल 100 अक्षरों की अनुमति देता है जो जल्द ही कई पते से भर जाता है। –

+0

@ मार्कहेडली यह एक अल्पकालिक समाधान है, लेकिन यदि आपके मेल सर्वर पर समूहों में परिवर्तन करना मुश्किल है, तो यह अभी भी उपयोगी हो सकता है। मैंने जवाब को अपडेट करने का प्रयास किया, लेकिन अभी अभी त्रुटि हो रही है। मैं बाद में कोशिश करूंगा। प्रतिक्रिया के लिए धन्यवाद! –

+1

100 चरित्र मुद्दे का एक बुरा उप-उत्पाद यह है कि यह आपको 100 से अधिक वर्णों को रखने देगा, लेकिन फिर ठीक होने के बाद कट-ऑफ-ऑफ करें! – PeterX

11

सबसे अच्छा अभ्यास, आपके मेल सर्वर पर एक समूह बनाने के समूह के लिए सूचनाएं भेजने और फिर मेल सर्वर से प्राप्तकर्ताओं की संख्या को नियंत्रित करने के लिए होगा।

SSMS>SQL Server Agent>Operators में एक नया OPERATOR या EDIT बनाने मौजूदा और अतिरिक्त ईमेल पते "E-mail name:" बॉक्स में ; द्वारा अलग जोड़ें:

+1

इस तरह हम इसे करते हैं जहां मैं काम करता हूं। कहें कि आपके सभी व्यवस्थापक डीबीए नामक आउटलुक वितरण समूह का हिस्सा हैं। वितरण समूह में सभी को सूचित करने के लिए आप ईमेल पते '[email protected]' के साथ 'डीबीए' नामक एजेंट ऑपरेटर बनाएंगे। –

17

सरलतम विधि मैं "JOB FAILURE" पर कई "OPERATORS" सूचित करने के लिए उपयोग करने के लिए है।

3

तो यह है कि मैं क्या एक समाधान के रूप के साथ आया था, तो इरादा है कि आपके संगठन में एक से अधिक लोगों अगर एक नौकरी में विफल रहता है और सफलताओं के लिए एक से अधिक लोगों के एक अलग समूह अधिसूचित किया जाना चाहिए है।

आप कदम 1-3 सामान्य कार्यों को तय समय काम के रूप में आप अपने कार्य के लिए क्या करना होगा के लिए उपयोग करता है देखेंगे। वहाँ के रूप में कई चरणों के रूप में लेकिन प्रक्रिया के अंतिम चरण (चरण 3) से पहले की जरूरत "सफलता पर" तोड़ने के लिए और अलग ईमेल में जाने के लिए असफलता "पर" करने की जरूरत है सकते हैं। इसके अलावा सभी "विफलताओं पर" के रूप में नीचे दिए गए मुख्य अपनी असफलता "ई-मेल" के लिए जारी की जरूरत है। तो विफलता समूह वहाँ ईमेल हो जाता है और काम अभी भी ऐतिहासिक रिकॉर्ड के लिए असफल हो जायेगी।

1.1

आप "सफलता पर कार्रवाई" और नौकरी कदम की उन्नत टैब में "कार्रवाई में विफलता पर" की दिशा बदलने के विकल्प दिखाई देगा।

2

विफलता ईमेल चरण -सामान्य संपत्ति

3

विफलता ईमेल चरण -Advance संपत्ति

4

सफलता ईमेल चरण -सामान्य संपत्ति

+०१२३५१६४१०६

5

सफलता ईमेल चरण -Advance संपत्ति

6

जरूरत मदद में दूसरों के लिए। Notify multiple operators with difference results

+1

जबकि dbahiker सीधे उस समस्या का समाधान नहीं करता है जो मूल प्रश्न पूछता है, मुझे लगता है कि यह अंडररेड (-1 पर) है।यह एसक्यूएल एजेंट ऑपरेटरों की सीमाओं के लिए एक व्यवहार्य समाधान है। – RyanB

+1

आसपास के काम के लिए बहुत अच्छा विचार है – user1760150

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