Execute a .dtsx from a command file on remote SQL Server

  • Hi

    I want to execute a .dtsx package from a command file with the dtexec command. I can to that as long as the SISS package is located on the local server..I then use the /F qualifier to give the physical path to the .dtsx.

    BUT, as far as I understand..to be able to use this dtexec from a remote system, I cant use the /F qualifier..instead I need to use the /D qualifier..is that correct ? My problem is that I cant understand how to save my package so that I can call it this way ? How can I save my .dtsx to the SISS package store (if that is what I need to do ??)

    I want to use something like:

    dtexec /S myremoteserver /U myremoteuser /P myremotepassword /D myremoteSISSpackage

     

    Can someone try to explain the details what I need to do please ??

     

    br

    Helmut

  • The package will run fomr where you type the command. You cannot run a package on another server through DTEXEC. Run as in: The process will be on server b.

     

    You can run a package from another server by typing the UNC file name or any of the other methods.

    Typing the command on your machine will run it on your machine, not the server.

    Cheers,CrispinI can't die, there are too many people who still have to meet me!It's not a bug, SQL just misunderstood me!

  • You can create a *.bat file on the server it needs to run on and then on the remote server you want to execute it from run psexec.exe to execute that *.bat file.

     

    http://www.microsoft.com/technet/sysinternals/utilities/psexec.mspx

     

    Keep in mind that the user account that is executing the psexec on the local/remote need to double click on psexec at least once on both servers for psexec to work regardless if both user accounts are local admins.

  • The PSEXEC does not always work when executing remote .bat, especially, when there is a needs some sort of authentication within a dtsx package (like FTP Connector - that needs to store the password of another machine, etc.)

    Much more reliable is to

    1. Create a Scheduled task to execute the dtsx package.

    2. Manualy execute the Scheduled task from a remote PC using the command:

    >schtasks /run /tn MyTask [/s MySQLServer [/u [domain\]user /p password]] /?

    3. In addition you can you the PSEXEC to execute the 'schtasks'. This way the password does not get exposed.

  • I am not sure what you are trying to achieve, but you know you can schedule a job to run the package under sql server agent. The jobs can also execute cmdexec commands as well. I use to use bat files. I now put most of my commands right in my job. I know this doesn't help if you want to have a process on anther server initiate a package execution. I just thought I would throw it out there.

    Dan

  • Hi, Dan

    Thanks for the reply. Sorry if I didn't make myself clearer. The biggest challenge is to execute the DTSX located on a server from another machine, like from your desktop. Especially, if you, for some reason, don't want or cannot run the SQL Agent.

    My way was execute a remote scheduled task on the server from the PC at the time I want. In my case, I have a program developed in MS Access that executes data import on the server on demand, then processes that information.

    Let me know if you need more details.

    Best,

    Vlad

  • Try running a bat file via telnet?

    Another way would be to run a file locally which connects to SQL which uses CMD to run a file local to itself. Butt ugly solution though.

    Or, as said originally - an unscheduled job and call sp_startjob or the windows scheduler route.

    CP

    Cheers,CrispinI can't die, there are too many people who still have to meet me!It's not a bug, SQL just misunderstood me!

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply