¿Cómo activar o desactivar un Job de SQL Agent desde una consulta?

Para desactivar un job o activarlo haremos uso de la base de datos msdb, esta base de datos guarda todas las configuraciones y elementos creados en SQL Agent.

Para desactivar un Job debemos enviar el valor 0 y para activarlo debemos enviar el valor 1, y en la siguiente consulta te digo cómo es posible hacerlo por medio del procedimiento almacenado de nombre sp_update_job:


EXEC msdb.dbo.sp_update_job
    @job_name = N'NombreDelJob',
    @new_name = N'NombreDelJob',
    @description = N'Una descripción es opcional',
    @enabled = 0 ;  -- así quedaría inactivo
GO  

¿Cómo comprobar una conexión valida a una Base de datos en C# .Net?

Para verificar si los datos para la conexión a una base de datos (en este caso en Sql Server), lo podemos hacer de la siguiente manera:


 public bool VerifyConnection()
 {

            string connetionString = null;
            SqlConnection cnn;
            connetionString = "Data Source=NombreServidor;Initial Catalog=NombreBaseDeDatos;UserID=UsuarioBd;Password=PasswordBd";

            cnn = new SqlConnection(connetionString);
            try
            {
                cnn.Open();
                cnn.Close();
                return true;
            }
            catch {
                  return false;
            }

}

Group_concat en #SQLServer, concatenar campos de un agrupamiento como en #mysql.

En este artículo explico cómo realizar una concatenación de un campo de una agrupación en SQL Server (algo parecido a lo que se obtiene con la función group_concat de mysql). Esto sirve para obtener en un registro todos los campos distintos de dicha agrupación. Por ejemplo, tenemos la siguiente tabla de nombre EstadoMunicipio:

tabla sql server - estados municipios

Suponiendo que deseamos agrupar los estados y obtener en un campo al lado la concatenación de sus municipios, eso en mysql se hace con una función llamada group_concat, en SQL Server no existiendo dicha función (que nos facilita todo) podemos obtener el mismo resultado utilizando la función Stuff de Sql Server, pero de una manera especial, como planteo en el siguiente query:

SELECT 
     Estado,
     STUFF(
         (SELECT  municipio +', ' 
          FROM EstadoMunicipio
          WHERE estado = a.estado
          FOR XML PATH (''))
          , 1, 0, '')  AS [Municipios Concatenados]
FROM EstadoMunicipio AS a
GROUP BY Estado

Este es el resultado:

resultado query group_concat sql server

De esa manera podemos realizar algo como lo que hace la función group_concat de mysql.

Si desean utilizar este query, basta con que sustituyan el nombre de la tabla EstadoMunicipio por el nombre de la que tengan ustedes, sustituyan también el nombre del campo municipio, el nombre del campo estado (que es el que utilizamos para agrupar) y la unión realizada en el where, por el campo por el cual están agrupando.