Solved

How do i find which DTS package has a schedule

Posted on 2006-11-07
9
296 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

 
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
 
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

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Powershell error using sql agent job 24 42
SQL Job Failed 6 31
Microsoft SQL Query sum values over time periods 3 30
SqlServer amend PK column 5 15
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Recently we ran in to an issue while running some SQL jobs where we were trying to process the cubes.  We got an error saying failure stating 'NT SERVICE\SQLSERVERAGENT does not have access to Analysis Services. So this is a way to automate that wit…
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
Via a live example, show how to shrink a transaction log file down to a reasonable size.

752 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