¿Qué job actualizo mi tabla?

Estimados,

Les voy a contar una anécdota que me sucedió hace algún tiempo y que me sirvió para poder buscar información y aprender más sobre historial de los jobs de base de datos lo cual me fue de mucha ayuda en esa situación. Pues bueno tenía una base de datos que contenía muchas tablas y estas eran llenadas desde diversos jobs los cuales estaban programados en diversos servidores, no se tenía un mapa completo del origen de los datos de cada una de esas tablas; hasta que un desafortunado día un jefe me dice: “… Hey, ¿puedes verificar por qué la tabla X no se ha llenado?” Continuar leyendo “¿Qué job actualizo mi tabla?”

Anuncios

Obtener el DTS de un paso de un job.

Hola este sera un post pequeño, per me parecio muy util y es que tengo un servidor SQL Server 2000 (si ya se que es bastante antiguo pero es lo que hay), entonces en este servidor hay jobs los cuales dentro de sus steps ejecutan paquetes DTS, sin embargo cuando se abre el step para ver su contenido se ve una sentencia encriptada como la siguiente:

DTSRun /~Z0x6078C236DCDD6A73931306866F9FC179EF750F439603F2CBEB820803744FC6605FF904C2DC6A6F355026A4CF56DEE2CBC7E72D6E7C1C88F17EA6CD17AEA6D7B6D6234D8D743CB0619D8A52006060594AEFEF6EC6582531B5DA1D1F30EDA8B8E2E78099A7869557567EF93557F67265092AF0F4 

Entonces, el problema esta en identificar que DTS es el que ejecuta el step. Luego de buscar puede ver que es tan simple como seguir los siguientes pasos:

  • Abrir una ventana de comandos en el servidor donde se alojan los paquetes.
  • Pegar toda la cadena antes mencionada
  • Agregar al final de esa cadena lo siguiente “/!X /!C”. Entonces quedaria como sigue:

DTSRun /~Z0x6078C236DCDD6A73931306866F9FC179EF750F439603F2CBEB820803744FC6605FF904C2DC6A6F355026A4CF56DEE2CBC7E72D6E7C1C88F17EA6CD17AEA6D7B6D6234D8D743CB0619D8A52006060594AEFEF6EC6582531B5DA1D1F30EDA8B8E2E78099A7869557567EF93557F67265092AF0F4 /!X /!C

Luego de ejecutar la cadena se copiara a la memoria el texto desencriptado de la ejecucion del paquete, entonces solo hay que abrir un notepad y pegar (CTRL + V) y se obtendra algo asi:

DTSRun /S “MiServidor” /N “MiPaqueteDTS_SQL2000” /E /!X /!C 

Y eso es todo, con eso se puede saber con seguridad cual es el paquete que ejecuta un paso de un job. Espero que les sea de utilidad.