Lorenzo Benaglia


Storie di un SQLlaro mannaro...
Archivio Posts
Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005
Calendario
dicembre 2024
lmmgvsd
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

L'utility DTSRun ed i parametri crittati

Oggi Elena mi ha chiesto un aiutino per identificare i package DTS eseguiti da alcuni job in una vecchissima istanza SQL Server 7.0.
Di default quando si schedula un DTS package da Enterprise Manager, vengono generati un job ed uno step denominati come il package; lo step esegue l'utility DTSRun i cui parametri sono però crittati.
Sfortunatamente quei job furono preparati da alcuni consulenti anni fa e per di più gli step ed i job stessi sono stati rinominati, perdendo quindi ogni corrispondenza logica con il package.
Elena aveva la necessità di decrittare i parametri per risalire al nome dei package.

Ho notato che tramite Profiler è possibile tracciare l'esecuzione della stored procedure di sistema msdb.dbo.sp_get_dtspackage ma purtroppo con SQL Server 7.0 non sono riuscito a recuperare i valori dei parametri durante la chiamata (e guarda a caso il primo corrisponde proprio al nome del package!).

Facendo una ricerca su Google ho trovato una risposta di Darren che suggeriva di scaricare l'utility DTSRunDec.
Questo tool permette di decrittare i parametri passati all'utility DTSRun.
Una volta scaricato lo zip ho notato che conteneva solo i sorgenti C, quindi si è posto il problema di trovare un compilatore per generare gli eseguibili.
Purtroppo sul notebook non ho installato Visual C/C++ così mi sono rivolto al mio smanettone di fiducia... David.
Lanciando la compilazione si sono sollevati una serie di warning relativi ad alcuni cast, ma il nostro eroe è riuscito a porvi rimedio.
Al termine della compilazione abbiamo ottenuto 2 eseguibili: DTSRunDec.exe e DTSRunDec2.exe
Il primo tool serve per decrittare i valori specificati dopo il parametro /~Z, mentre il secondo è in grado di decrittare i valori dei singoli parametri (come ad esempio /~N).
Il loro utilizzo è davvero banale: è sufficiente eseguirli da una shell specificando come argomento i valori crittati dei parametri per ottenere in output il contenuto in chiaro!
Tramite una query sulle tabelle di sistema sysjobsteps e sysjobs, abbiamo generato i comandi per decrittare i dati che ci servivano; è bastato racchiuderli in un batch per ottenere il risultato desidrato.
Categoria: SQL Server
martedì, 25 lug 2006 Ore. 21.43
Statistiche
  • Views Home Page: 969.707
  • Views Posts: 716.824
  • Views Gallerie: 13.870.455
  • n° Posts: 300
  • n° Commenti: 314
Mappa





















Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003