2009-05-28 13 views
8

मेरे पास एक एसएसआईएस पैकेज है जो SQL Server 2005 डीबी में संग्रहीत है। मैं इस पैकेज को उसी सर्वर पर संग्रहीत प्रक्रिया से निष्पादित करने का प्रयास कर रहा हूं। वहाँ कार्यकारी master..xp_cmdshell 'dtexec/एसक्यूएल की तुलना में एक बेहतर तरीका है ...संग्रहित प्रक्रिया से SQL सर्वर SSIS पैकेज निष्पादित करें

मैं (मुझे लगता है कि) xp_cmdshell के साथ फाइल सिस्टम अनुमति के मुद्दों है कि निष्पादन

रोक रहा है

उत्तर

4

मैं एजेंट के बजाय का उपयोग करना चाहिये:

  1. खाता है कि काम चलेगा के लिए एजेंट प्रॉक्सी खाता बनाने के
  2. एजेंट काम है कि इस पैकेज चलाता बनाएं
  3. यह 1
  4. टेस्ट काम
  5. एसक्यूएल में # में बनाया प्रॉक्सी खाते का उपयोग करते हैं कोड, sp_start_job का उपयोग इस नौकरी को शुरू करने के लिए

नकारात्मकता यह है कि आप इस तरह से पैकेज से एसक्यूएल से पैरामीटर आसानी से पास नहीं कर सकते हैं।

+1

मैं हाल ही में है कि के माध्यम से एक उदाहरण की जरूरत है किसी के लिए भी इस विचार के आधार पर एक विस्तृत समाधान के साथ आया था [*** इस stackoverflow सवाल ***] (http://stackoverflow.com/questions/27535338/execute-ssis-package-from-stored-procedure-as-proxy-user-without-xp-cmdshell) –

0

2012 से, एमएसएसक्यूएल में एक एसएसआईएस कैटलॉग है, जहां आप वहां अपने पैकेज पार्क कर सकते हैं। फिर आप पैरामीटर के साथ एक पैकेज निष्पादित कर सकते हैं। इस तरह हम पैरामीटर के बिना dtexec, या sp_start_job पर कॉल करने के लिए xp_cmdshell से बच सकते हैं। मुख्य एसपी: create_execution, set_execution_parameter_value, और start_execution

MSDN से

:

To run a package on the server using SQL Server Management Studio

Deploy and Execute SSIS Packages using Stored Procedures

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