2011-05-25 5 views
9

मेरे पास एक एसएसआईएस पैकेज है जो SQL सर्वर 2008 डेटाबेस में डेटा आयात करता है। मैंने उस पैकेज को चलाने के लिए SQL सर्वर एजेंट में शेड्यूल जॉब सेट अप किया है। जब मैं इतिहास की जांच करता हूं, तो मैं केवल देख सकता था कि नौकरी सफलतापूर्वक चल रही है या नहीं। मैं इसके अलावा अन्य संदेश नहीं देख सका।एसएसआईएस पैकेज नौकरी के परिणामों को निष्पादन पूरा करने के बाद कैसे जांचें?

मैं जानना चाहता हूं कि नौकरी निष्पादित होने पर कितने रिकॉर्ड आयात किए जाते हैं। मैं उस पर निगरानी कैसे कर सकता हूं? क्या मुझे एसएसआईएस पैकेज में अतिरिक्त घटकों का उपयोग करना चाहिए या SQL सर्वर एजेंट जॉब सेटअप में कुछ कॉन्फ़िगरेशन सेट करना चाहिए?

मुझे SQL सर्वर एजेंट जॉब सेटअप में कुछ लॉगिंग सुविधाएं मिलीं लेकिन मुझे यकीन नहीं है कि यह मेरी आवश्यकताओं को पूरा कर सकता है या नहीं।

उत्तर

19

यदि आप कॉलम को संसाधित करने में रुचि रखते हैं और आगे के उपयोग की जानकारी में रुचि नहीं रखते हैं, तो एक संभावित विकल्प एसएसआईएस लॉगिंग सुविधा का उपयोग कर रहा है। यहां बताया गया है कि यह डेटा प्रवाह कार्यों के लिए कैसे काम करता है।

  1. एसएसआईएस पैकेज पर क्लिक करें। , संवाद प्रदाता प्रकार का चयन करें और जोड़ें क्लिक करें:> लॉगिंग ...
  2. कॉन्फ़िगर लघु उद्योगों लॉग्स पर -
  3. मेनू पर, लघु उद्योगों का चयन करें। मैंने इस उदाहरण के लिए SQL सर्वर चुना है। नाम चेकबॉक्स की जांच करें और कॉन्फ़िगरेशन कॉलम के अंतर्गत डेटा स्रोत प्रदान करें। यहां SQLServer कनेक्शन प्रबंधक का नाम है। एसएसआईएस आपके द्वारा चुने गए डेटाबेस में dbo.sysssislog और संग्रहित प्रक्रिया dbo.sp_ssis_addlogentry नाम की एक तालिका तैयार करेगी। स्क्रीनशॉट # 1 नीचे देखें।
  4. यदि आपको संसाधित पंक्तियों की आवश्यकता है, तो चेकबॉक्स ऑन इन्फोर्मेशन का चयन करें। यहां उदाहरण में, पैकेज सफलतापूर्वक निष्पादित किया गया था ताकि लॉग रिकॉर्ड ऑन इन्फोर्मेशन के तहत पाए गए। आपको अपनी आवश्यकताओं के अनुसार इस घटना चयन को ठीक करने की आवश्यकता हो सकती है। स्क्रीनशॉट # 2 नीचे देखें।
  5. यहां डेटा प्रवाह कार्य के भीतर नमूना पैकेज निष्पादन है। स्क्रीनशॉट # 3 नीचे देखें।
  6. यहां लॉग तालिका dbo.sysssislog का नमूना आउटपुट है। मैंने केवल कॉलम आईडी और संदेश प्रदर्शित किए हैं। तालिका में कई अन्य कॉलम हैं। क्वेरी में, मैं केवल पैकेज 1 'नामक पैकेज के लिए आउटपुट फ़िल्टर कर रहा हूं और ईवेंट' ऑन इन्फोर्मेशन '। आप देख सकते हैं कि 7, 14 और 15 के साथ रिकॉर्ड पंक्तियों को संसाधित करते हैं। स्क्रीनशॉट # 4 नीचे देखें।

आशा है कि मदद करता है।

स्क्रीनशॉट # 1:

Logging

स्क्रीनशॉट # 2:

Events

स्क्रीनशॉट # 3:

Execution

स्क्रीनशॉट # 4: DTEXEC कमांड लाइन का उपयोग करें:

Data

+0

बस जो मैं ढूंढ रहा था! ;) –

-2

यदि आप निष्पादित SQL कार्य का उपयोग करके पंक्तियां डालते हैं तो आप @@ ROWCOUNT चर का उपयोग करके रिकॉर्ड गिनती प्राप्त कर सकते हैं। फिर आपको रिपोर्ट के लिए बाद में इसे पढ़ने के लिए इसे कहीं लिखना चाहिए।

0

यहाँ जब एसक्यूएल सर्वर कार्य इतिहास SSIS पैकेज से उत्पादन नहीं दिखा रहा है के लिए एक और तरीका है।

(उल्टा:। काम के इतिहास में
नकारात्मक बड़ा पैकेज के लिए: इस दृष्टिकोण काम के उत्पादन जहां किसी और को समर्थन यह उम्मीद करेंगे यह पता लगाने के लिए कहते हैं आप एक लंबे SSIS पैकेज है, या कार्यों के बहुत से घटकों, और आउटपुट के बहुत सारे, तो नौकरी का इतिहास पैकेज आउटपुट को नौकरी के इतिहास की कई पंक्तियों में विभाजित करेगा, पिछले जवाब में दृष्टिकोण बनाना - एक टेबल पर लॉगिंग करना - पढ़ने में आसान।)

एसएसआईएस पैकेज दिखाने के लिए नौकरी के दृश्य इतिहास में आउटपुट:
(1) "ऑपरेटिंग सिस्टम (सीएमडीएक्सईसी)",पर "SQL सर्वर एकीकरण सेवा पैकेज" प्रकार से नौकरी के चरणों को बदलें (2) पैकेज निष्पादित करने के लिए DTEXEC कमांड लाइन का उपयोग करें। कमांड लाइन का

उदाहरण:

DTExec /DTS "\MSDB\myPkgName" /DECRYPT pkgPass /MAXCONCURRENT " -1 " /CHECKPOINTING OFF 

ध्यान दें कि यदि SSIS पैकेज 32-बिट निष्पादन (एक्सेल में निर्यात करने के लिए सही है, उदाहरण के लिए) की आवश्यकता है, तो ("प्रोग्राम फ़ाइल में DTEXEC उपयोगिता का उपयोग x86) "पूरी तरह से इसे योग्यता से। उदाहरण के लिए, जहां एसक्यूएल सर्वर आवेदन एक "ई:" पर स्थापित किया गया था ड्राइव, और जहां SQL सर्वर 2014 के लिए इस्तेमाल किया जा रहा है:

"E:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\DTExec.exe" /DTS "\MSDB\myPkgName" /DECRYPT pkgPass /MAXCONCURRENT " -1 " /CHECKPOINTING OFF 

यदि आपका SSIS पैकेज फ़ाइल सिस्टम में कर रहे हैं (के रूप में ".dtsx" फ़ाइलें) , फिर "/ FITS" के साथ "/ DTS" को प्रतिस्थापित करें।

यदि आपके एसएसआईएस पैकेज एसएसआईएसडीबी में रखे गए थे ("प्रोजेक्ट परिनियोजन मॉडल" का उपयोग करके, जो पुराने "पैकेज परिनियोजन मॉडल" के बजाय SQL सर्वर 2012 से शुरू होता है), फिर "/ DTS" को "/ ISSERVER "।

अगला, जॉब चरण के "उन्नत" पृष्ठ पर जाएं, और सुनिश्चित करें कि "इतिहास में चरण आउटपुट शामिल करें" के लिए बॉक्स चेक किया गया है।

आखिरकार, अपने नौकरी के चरण को "रन के रूप में" पर विचार करें: यदि आपका काम "एसक्यूएल सर्वर इंटीग्रेशन सर्विसेज पैकेज" प्रकार के नौकरी चरणों पर पहले से ही प्रॉक्सी पर सेट किया गया है, तो आप पहले ही प्रॉक्सी सक्रिय कर चुके हैं सबसिस्टम "एसक्यूएल सर्वर एकीकरण सेवा पैकेज" के लिए। अब, उपरोक्त की तरह कमांड लाइन करने के लिए, प्रॉक्सी की गुणों की जांच करें, और सुनिश्चित करें कि यह सबसिस्टम "ऑपरेटिंग सिस्टम (सीएमडीएक्सईसी)" के लिए भी सक्रिय है।

MSDN संदर्भ: SSIS Output on Sql Agent history

0

आप डेटाबेस के एकीकरण सेवाएं कैटलॉग में पैकेज तैनात है (बजाय यह एक फाइल सिस्टम से लोड) आप आसानी से विस्तृत रिपोर्ट प्राप्त कर सकते हैं।

SQL सर्वर प्रबंधन स्टूडियो में कैटलॉग नोड खोलें, पैकेज नाम पर राइट क्लिक करें, रिपोर्ट का चयन करें। मानक रिपोर्ट | सभी निष्पादन और नौकरी के हर चरण और इसके उप-संयोजकों के बारे में विवरण देखें, जिसमें आयात किए गए रिकॉर्ड शामिल हैं।

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