पैकेज निष्पादन:
SQL सर्वर डेटा टूल्स:
उपयोगकर्ता क्रेडेंशियल जिसके तहत SQL Server Data Tools (SSDT)
एसएसडीटी के भीतर निष्पादित पैकेजों को निष्पादित करने के लिए उपयोग किया जाएगा।
विंडोज स्टार्ट \ ऑल प्रोग्राम्स \ माइक्रोसॉफ्ट एसक्यूएल सर्वर 2012 के तहत, यदि आप SQL सर्वर डेटा टूल्स पर क्लिक करते हैं तो यह आपके क्रेडेंशियल्स के तहत चलेगा। भिन्न उपयोगकर्ता खाते के अंतर्गत चलाने के लिए, आप Ctrl . दबा सकते हैं + शिफ्ट Run as different user
. चुनने के लिए विकल्प।
एकीकरण कैटलॉग सेवाएं:
जब आप Integration Services Catalog \ SSISDB \ <Folder name> \ Projects \ <Project name> \ Packages \ <Package name>
के अंतर्गत पैकेज पर राइट-क्लिक करते हैं और Execute...
. चुनें पैकेज चलाने के लिए। पैकेज SQL सर्वर प्रबंधन स्टूडियो से कनेक्ट करने के लिए उपयोग किए गए क्रेडेंशियल के तहत चलेगा।
ध्यान दें कि यदि आप SQL सर्वर प्रमाणीकरण का उपयोग करके किसी पैकेज को चलाने का प्रयास करते हैं, तो आपको निम्न त्रुटि संदेश प्राप्त होगा:
Execute...
press दबाने के बाद , SQL Server
एक प्रक्रिया को स्पिन करता है ISServerExec.exe
, जो एक Console Window Host
लॉन्च करता है प्रक्रिया:
ISServerExec.exe
एक प्रोग्राम है जो एसएसआईएस कैटलॉग में पैकेज निष्पादित करता है। इस मामले में, इसे उसी उपयोगकर्ता के तहत लॉन्च किया जाता है जो SQL सर्वर प्रबंधन स्टूडियो से SSIS पैकेज निष्पादित करता है।
बिना प्रॉक्सी के SQL सर्वर एजेंट जॉब:
जब आप किसी SQL सर्वर एजेंट कार्य के भीतर से कोई SSIS पैकेज चलाते हैं , डिफ़ॉल्ट रूप से कार्य चरण SQL Server Agent Service Account
के अंतर्गत चलता है . SQL सर्वर एजेंट सेवा से जुड़े उपयोगकर्ता खाते को Windows Start \ Administrative Tools \ Services
पर नेविगेट करके पाया जा सकता है , सेवा के लिए देखें SQL सर्वर एजेंट (Your Instance Name
) और Log On As
. के अंतर्गत सूचीबद्ध उपयोगकर्ता खाता ढूंढें
प्रॉक्सी के साथ SQL सर्वर एजेंट जॉब:
आप प्रॉक्सी खाता बनाकर विभिन्न क्रेडेंशियल्स के तहत SQL सर्वर एजेंट जॉब भी चला सकते हैं। जब प्रॉक्सी अकाउंट के तहत जॉब स्टेप्स को निष्पादित किया जाता है, तो जॉब स्टेप में पैकेज प्रॉक्सी अकाउंट पर निर्दिष्ट क्रेडेंशियल के तहत निष्पादित होगा।
नीचे SO उत्तर SQL सर्वर एजेंट जॉब चलाने के लिए प्रॉक्सी खाता बनाने के लिए चरण-दर-चरण निर्देश प्रदान करता है।
मैं अपने SQL सर्वर एजेंट जॉब में एक चरण कैसे बनाऊं जो मेरा SSIS पैकेज चलाएगा?
कैसे सत्यापित करें:
नमूना SSIS 2012 पैकेज:
पैकेज निष्पादन के लिए उपयोग किए गए उपयोगकर्ता खातों के संबंध में उपरोक्त कथनों को सत्यापित करने के लिए मैंने यहां क्या किया है।
-
SQL सर्वर डेटा टूल खोलें और
SO_15289442.dtsx
नाम का SSIS 2012 पैकेज बनाएं और बनाएं । -
ExecutionUser
. नाम का वेरिएबल बनाएं डेटा प्रकार काString
. एक्सप्रेशन असाइन करें@[System::UserName]
चर को।UserName
एक सिस्टम वेरिएबल है जो पैकेज को निष्पादित करने वाले उपयोगकर्ता की जानकारी प्रदान करता है। -
खींचें और छोड़ें मेल कार्य भेजें डेटा प्रवाह . पर टैब।
-
एक SMTP कनेक्शन बनाएं और उसे
SmtpConnection
. को असाइन करें मेल भेजें कार्य संपादक - मेल पृष्ठ पर। -
From
निर्दिष्ट करें औरTo
ईमेल पते। -
MessageSourceType बदलें करने के लिए
Variable
। -
MessageSource
सेट करें करने के लिएUser::ExecutionUser
। -
पैकेज पर राइट-क्लिक करें और अपनी पसंद के सर्वर पर उपलब्ध इंटीग्रेशन सर्विसेज कैटलॉग में प्रोजेक्ट को परिनियोजित करने के लिए डिप्लॉय चुनें।
पैकेज निष्पादन
-
पैकेज को SSDT के भीतर चलाएँ।
-
विभिन्न उपयोगकर्ता विकल्प के रूप में रन का उपयोग करके एसएसडीटी खोलें। अपने अलावा कोई अन्य क्रेडेंशियल प्रदान करें और पैकेज को फिर से चलाएँ।
-
एकीकरण सेवा कैटलॉग से पैकेज चलाएँ।
-
SQL सर्वर एजेंट सेवा खाते का उपयोग करके पैकेज को चलाने के लिए SQL सर्वर एजेंट कार्य बनाएँ।
-
प्रॉक्सी खाते का उपयोग करके पैकेज को चलाने के लिए SQL सर्वर एजेंट जॉब बनाएँ।
ऊपर वर्णित प्रत्येक निष्पादन के लिए, आपको उस उपयोगकर्ता खाते के साथ एक ईमेल प्राप्त होगा जिसका उपयोग पैकेज को निष्पादित करने के लिए किया गया था।
आपकी समस्या:
आपके मामले में, पैकेज आपके खाते के अंतर्गत निष्पादित होगा (यह मानते हुए कि आप SSISDB तक पहुँचने के लिए अपने क्रेडेंशियल्स का उपयोग कर रहे हैं ) यदि आप राइट-क्लिक करते हैं और एकीकरण सेवा कैटलॉग से निष्पादित करें का चयन करते हैं। सुनिश्चित करें कि खाते के पास नेटवर्क पथ तक पहुंच है।
यदि आप SQL सर्वर एजेंट जॉब के भीतर से अपना पैकेज चला रहे हैं, तो प्रॉक्सी खाता run as another user
विकल्प जिसे आप देख रहे हैं।