Solved

How do i find which DTS package has a schedule

Posted on 2006-11-07
9
284 Views
Last Modified: 2012-08-14
I have a sql 200 server which has several dts pakages.
eg Export1 , Export2, Export3.
Out of this three there is only one that is scheduled to run. How do i find out which one??

I look at the jobs and it says under step: -->  DTSRun /~Z0xC5DDEF117B86B9EC27270FA240DAC171BA48FB  (trimmed)



0
Comment
Question by:Wizilling
9 Comments
 
LVL 16

Accepted Solution

by:
Hillwaaa earned 500 total points
ID: 17895022
Hi Wizilling,

This is a bit cowboy, but...

One way would be to make copies of each of the 3 dts jobs (on the same server is fine) then delete the existing three (making sure you remember the exact name of the original DTS package).  Then manually execute the job from enterprise manager - and view the details when the job fails.  this will be of the form:

Error string:  The specified DTS Package ('Name = '<NAME IS HERE>'; ID.VersionID =  {[not specified]}.{[not specified]}') does not exist.    

Then you can copy the dts packages back to their original names and it should be fine (at least it worked for me).

Cheers!
0
 
LVL 75

Expert Comment

by:Aneesh Retnakaran
ID: 17895197
sysjobschedules :Contains schedule information for jobs to be executed by SQL Server Agent. This table is stored in the msdb database.



0
 
LVL 16

Expert Comment

by:Hillwaaa
ID: 17895238
aneeshattingal,

This will only give the info that is available in enterprise manager - looking at sysjobsteps still just shows the DTSRun command with associated encrypted string.  

Is there a function to decrypt that string to determine the name of the dts package within the encrypted string?
0
 
LVL 29

Expert Comment

by:Gautham Janardhan
ID: 17895521
USE msdb
EXEC sp_help_job

check BOL USE msdb
EXEC sp_help_job  for schedule
0
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
LVL 30

Expert Comment

by:nmcdermaid
ID: 17895556
Now you know why you should schedule the DTS manually using DTSRUN rather than right clicking on it... when you right click it puts that awful string in.

To work out what it is running you can:

1. Start DTSRUNUI from tha command line
2. Select the first package
2. Press Advanced
3. Tick 'Encrypt the command line'
4. Press Generate
5. This will show you the gobbledygook that matches that particular package.
6. Repeat for each package till you match up the gobblydygook.


Lucky you have only three.
0
 
LVL 30

Expert Comment

by:nmcdermaid
ID: 17895593
There is no way to decrypt the command line, you can only go the other way.

The idea is that you can encrypt your global variables into a big ugly string, and then no one can ever pick up your DTS command line and work out your global variables values.


Using the method above, if you originally scheduled the package by right clicking/Schedule package (Most likely scenario) it should work.



The /!Y option of DTSRUN basically does the same as what I described above.... turns a DTS package name/parameter mappings into an encrypted string.
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 17895774
nmcdermaid,

Not to take anything away from what you said, but ... :)
>>There is no way to decrypt the command line, you can only go the other way.<<
For the record and to save the questioner some time, there is a utility out there that supposed decrypts the file.  But:
A) There is only source code in C, but even after compiling it I could never get it to do resolve the string.
B) Even if it did function as advertised, it is against the EE MA.  See here:
Hacks, cracks and keys
http://www.experts-exchange.com/Databases/Microsoft_SQL_Server/help.jsp#hi100

>>6. Repeat for each package till you match up the gobblydygook.<<
It will never match.  Each time it will produce a different result.  Try it repeatedly as follows and you will see what I mean:
dtsrun /!Y /S "(local)" /N "Your Package Name" /E
0
 
LVL 16

Expert Comment

by:Hillwaaa
ID: 17895835
acperkins,

Good point on the EE MA - I hadn't thought of that when asking about decryption - oops!

So it looks like my original post - while a bit risky in that you are copying then deleting the packages that the script runs against - is the only way to figure this out?

0
 
LVL 30

Expert Comment

by:nmcdermaid
ID: 17896055
aha never say never :)

Doh, so it does.... it will indeed never match.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Nowadays, some of developer are too much worried about data. Who is using data, who is updating it etc. etc. Because, data is more costlier in term of money and information. So security of data is focusing concern in days. Lets' understand the Au…
When you hear the word proxy, you may become apprehensive. This article will help you to understand Proxy and when it is useful. Let's talk Proxy for SQL Server. (Not in terms of Internet access.) Typically, you'll run into this type of problem w…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

759 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now