jueves, 27 de septiembre de 2007

Encender y apagar SQL Server mediante código

Hoy me he visto en la necesidad de controlar por código el servicio de SQL Server , para hacer una pequeña libreria que compruebe el estado del mismo. Como siempre, las librerias de .NET me han ayudado mucho ;)

Aqui tenemos el código necesario para arrancar el servicio del agente de SQL Server , en el caso de que detectemos que se encuentra caido.


using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Management.Smo.Wmi;
namespace PruebaWMI
{
class Program
{
static void Main(string[] args)
{
ManagedComputer mc = new ManagedComputer();
// Aqui es donde le decimos el nombre del servicio, en mi caso tengo nombre de instancia ECB_SQL
Service svc = mc.Services["SQLAgent$ECB_SQL"];
// Si el servicio no está activo, lo inicio ;)
if (svc.State.Equals(ServiceState.Running))
Console.WriteLine("run");
else
{
Console.WriteLine("no run");
svc.Start();
}
}
}
}


Para que esto funcione, has de añadir las librerias Microsoft.SqlServer.ConnectionInfo, Microsoft.SqlServer.Smo, Microsoft.SqlServer.WmiEnum.

No hay comentarios: