Saltar al contenido

Ejecutar un Script SQL en todas las compañías de Microsoft Dynamics GP

Ejecutar un Script SQL en todas las compañías 

A veces uno tiene que ejecutar misma secuencia de comandos en todas las empresas por ejemplo, DBCC CHECKDB en todas las grandes empresas de los llanos. este cursor ejecuta la instrucción SQL en todas las empresas. bueno para rutinas durante la noche.

DECLARE CheckDB_curs CURSOR FOR
    SELECT interid FROM dynamics..sy01500
OPEN CheckDB_curs
DECLARE @dbname varchar(30), @output_msg varchar(80)
FETCH NEXT FROM CheckDB_curs INTO @dbname
WHILE (@@FETCH_STATUS=0 )
    BEGIN
    EXEC (‘dbcc checkdb  (‘ + @dbname + ‘)’)
        IF (@@ERROR=0)
           SELECT @output_msg=
             ‘Script Successful!! ‘
                + @dbname
       ELSE
        SELECT @output_msg=
                ‘Script Failed !! ‘
              + @dbname + ‘ @@ERROR=’ +
               CONVERT(varchar, @@ERROR)
    PRINT @output_msg
    FETCH NEXT FROM CheckDB_curs INTO @dbname
    END
CLOSE CheckDB_curs
DEALLOCATE CheckDB_curs