Wednesday, July 05, 2006

SQL server Monitoreo de Jobs

Requieres realizar un monitoreo de Jobs, a un servidor de producción. El problema es que no eres el dueño de los Jobs, tienes tu propia cuenta solo de lectura a la base de datos de tu proyecto. El problema es que estos Jobs no los puedes visualizar a través de la consola de SQL Server.

Se me presento esta situación el cambio de owner de los Jobs seria muy difícil y podrías afectar su ejecución ya que la es de solo lectura.
Así que la mejor solución fue realizar una consulta a las tablas de Jobs, que mantiene en la base MSDB:

select b.name, b.enabled, b.description,
a.instance_id, a.step_id, a.step_name, a.message, a.run_status, a.run_date,
a.run_time, a.server
from msdb..sysjobhistory a inner join msdb..sysjobs b on a.job_id = b.job_id
order by b.name, a.run_date



Esta base de datos conservan la información utilizada por SQL Server y sus componentes, pero estas información no debe ser alteradas directamente por ningún usuario. Sin embargo muchas de las columnas o campos que se encuentran en estas tablas no se encuentran documentados.

La información que conserva esta base de datos es información es utilizada por SQL Server internamente. Conserva información del diseño de las bases, Store procedures, funciones, Jobs, catalogo de funciones del API, DTS, entre otras cosas.
Así que con un acceso de solo lectura a MSDB se soluciono.


Tuesday, July 04, 2006

Verificando un puerto...

Un tip. . . como validar si en el ambiente que estas trabajando puedes acceder un puerto de una PC o Server remoto. Algunas vez te has preguntado cual es la manera mas rápida de saber si tienes acceso a un puerto?, se encuentra activo?. Utilizando el ping puedes saber si tu servidor o PC se encuentra activo, pero no puedes saber si el puerto 7020 esta abierto.
Desde el command prompt, ejecutando un Telnet a ese puerto, Ejemplo:

Telnet 10.20.143.234 7020.

En esta caso queremos validar si el puerto esta 7020, esta activo en esa PC. El comando en caso de no poder abrirlo te enviaría el mensaje, que no puede abrir el puerto y ha fallado la conexión.
Si estas tratando de alcanzar un puerto http. Ejemplo: Telnet 10.20.143.234 80 Une vez conectado tecleas “GET /”. Si te regresa un mensaje en HTML, ahí se encuentra un web Server.

Esta es una manera rápida, barata de verificarlo, ya que existen otras utilerías en el mercado, que te dicen los puertos disponibles de acuerdo al IP que proporcionas.


Ahora si quieres saber los puertos activos de tu PC y quieres saber que aplicación esta utilizando esos puertos, hay una utilería FPort
y es gratis, que te ayuda realizar esta tarea.