I'd like to know what is the process a SqlServer job is executing, but I only can find that it calls DTSRun with an encrypted string.

After decoding the string, it results is just the name of the job with the user and the password.

How can I find what is this job really calling?

Edit: I've found a candidate, they could be at the msdb.sysdtspackages, but again, can't read them as SQLServer says the data is binary.

How can I read them to confirm they are the jobs?

link|improve this question

25% accept rate
feedback

2 Answers

DTSRUN is used for running DTS packages.

It sounds like the job is calling a DTS package to do the work. The name of the package in a DTSRUN command line is given after the /~N command switch. The server that the package is stored on is given after the /~S command switch.

Are there DTS packages stored on your server? If so, look for one that has the same name as the job.

link|improve this answer
As I said, the name of the DTS package is encrypted. After much Googling, I found a way to read it and it was just the name of the package with a the user and the password. Where are the DTS packages stored? – Saiyine Dec 21 '10 at 11:35
feedback

DTS packages are stored in either:

  1. SQL Server (in the msdb database in binary form as you've found)
  2. File System
  3. Repository

To open a package that's stored on the local SQL Server to examine what it does you would open it with either:

a) SQL Enterprise Manager (SQL 2000) - packages should be listed under the Data Transformation Services node under Local Packages.

b) In SQL 2005/2008 I think you can work with legacy DTS packages using Management Studio or the BI Development Studio. Packages should be listed under Management\Legacy\Data Transformation Services. I've seen mention of it sometimes generating errors on 2008 for which there's a fix available from MS.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.