Hola, chicos,
¡Buenas noches!
En esta publicación demostraré cómo validar a través de SQL Server si un servidor está respondiendo a la red, usando CLR (C#) y la clase PING, que simula una solicitud de ping que realiza en el indicador de DOS en Windows o en Unix Shell.
A diario utilizo mucho esta función para comprobar si, por ejemplo, un servidor de intercambio de archivos está disponible para escribir archivos de rutina de bases de datos. De lo contrario, puedo hacer que mi rutina envíe un correo electrónico o incluso escriba estos archivos en otro directorio. También podemos usar esta función para crear monitoreo de servidor. De todos modos, las posibilidades son muchas, y varían según tus necesidades y creatividad.
Código fuente de la función CLR (C#):
using System;
using System.Data.SqlTypes;
using System.Net.NetworkInformation;
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlBoolean fncMaquina_Ligada(SqlString Ds_Hostname)
{
try
{
var ping = new Ping();
var reply = ping.Send(Ds_Hostname.Value, 5); //timeout em segundos
return (reply != null) && (reply.Status == IPStatus.Success);
}
catch (Exception e)
{
return false;
}
}
}
Una vez compilado en la base de datos, podemos usar la función así:


¡Y eso es todo, amigos!
Un abrazo grande y nos vemos en el próximo post.
SQL Server: cómo verificar si la máquina está encendida y verificar que el servidor de la computadora esté haciendo ping en línea
SQL Server: cómo verificar si la máquina está encendida y verificar que el servidor de la computadora esté haciendo ping en línea
Comentários (0)
Carregando comentários…