Jump to content

Como saber si una base de datos esta activa de forma remota


Recommended Posts

Hola a todos!! Bueno paso a mi pregunta y a la vez una duda. Estoy realizando mi proyecto de titulación pues recien he empezado, voy a desarrollar una herramienta de monitoreo de servidores y actualización de archivos, hace poco la persona encargada me comento que si no habia una menera de saber si la base de datos es activa, en linea, o funcionando (no se cual es el termino que se deba utilizar) pero de manera remota. Creo que explicare mejor esta parte.

 

Veran estoy en el area de soporte tecnico en area tiene un sistema de abasto para varias unidades en toda una area y pues una de sus actividades es que los servidores de cada unidad se encuentren funcionando, pero han tenido problemas en que el equipo servidor si esta conectado pero por alguna razon la base esta muerta y no responde, y pues su area debe ser la primera en saber todo esto, por eso me planté un panorama que la verdad no se si se pueda hacer, verificar de alguna manera que una base de datos se encuentre activa. Otra cosa que creo que también es importante es que es de manera remota ni el servidor ni la base de encuentra dentro del edificio donde trabajo, me han contado que la base de datos es en SQL Server pero que por motivos de seguridad ha ellos les han quitado el programa cliente y que en la base de datos ha reforzado la seguridad.

 

Es por eso que requiero de este foro, de la experiencia de aquellos que saben, estoy desarrollando en java y busco una manera de saber si una base de datos en SQL Server esta activa pero no se si con toda la seguridad que tenga pueda o halla una manera.

 

Gracias por su tiempo y que tenga buen dia.

Link to comment
Share on other sites

Bueno, siempre hay mas de una forma de hacer las cosas. Lo que se me ocurre rápido y facil, es crear una aplicación que se conecte cada cierto tiempo a la base de datos, haga una consulta sencilla y si tiene respuesta, entonces está ok.

 

Tienes que tener presente que son varios los pasos:

 

- primero ver si te puedes conectar al servidor

- segundo, ver si tienes acceso a la base de datos

- hacer la consulta y retornar los resultados

 

Cada paso lo verificas con la función Java correepondiente. Cada función retorna si tiene éxito o no.

 

Una vez que tengas la aplicación, la montas en algún servidor y configuras para que corra como un servicio/demonio.

 

Salu2.

Link to comment
Share on other sites

Bueno, siempre hay mas de una forma de hacer las cosas. Lo que se me ocurre rápido y facil, es crear una aplicación que se conecte cada cierto tiempo a la base de datos, haga una consulta sencilla y si tiene respuesta, entonces está ok.

 

Tienes que tener presente que son varios los pasos:

 

- primero ver si te puedes conectar al servidor

- segundo, ver si tienes acceso a la base de datos

- hacer la consulta y retornar los resultados

 

Cada paso lo verificas con la función Java correepondiente. Cada función retorna si tiene éxito o no.

 

Una vez que tengas la aplicación, la montas en algún servidor y configuras para que corra como un servicio/demonio.

 

Salu2.

 

Recuerdo que hace un tiempo (Por meter mano) hice lo mismo,o algo similar, el único problema es que tenia respuesta solo cuando la Bd estaba on.

 

En la oficina tengo esa aplicación, así que trataré de postearla mañana. Así me aprovechan de corregir, porque quedé metío' y nunca lo volví a revisar.

 

Saludos!

 

Link to comment
Share on other sites

Si se llevaron el server para aumentar los niveles de seguridad, entonces veo improbable que éste se encuentre accesible de manera pública. Si tienen buenos niveles de seguridad, el servidor de base de datos estará sólo accesible en la lan y tal vez sólo al servidor de aplicaciones que lo acompaña. Si este es el caso, deberías crear un WS en el servidor de aplicaciones el que haga una conexión al SQL Server usando el JTS. Luego puedes consumir este de manera directa.

 

Saludos

Link to comment
Share on other sites

Muchas Gracias por sus repuestas. Esto me indica que si se puede saber el estado pero que la seguridad es un inconveniente, en fin.

Por ahora aun no me han autorizado el acceso a su red privada pero en cuanto me den el pase empiezo a probar las opciones.

Link to comment
Share on other sites

No soy experto en Java, pero en .net tienes el try/catch/finally para este tipo de situaciones. Supongo que debería haber algo similar en java para hacer eso.

Algo como

 

connection myDatabase = new connection("database","username","password");

try
{
   myDatabase.open(); //llama a la BD e intenta iniciar la sesión
   messageBox.Show("hay conexion");
}
catch  (exception ex) // si ocurre un error lo captura
{
   messageBox.Show("NO hay conexion: " + ex.toString());
}
finally
{
   myDatabase.Close();
}
 

 

 

Edited by The Duke of Quakem
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...