En nuestro caso de ejemplo, tenemos una Tarea Programada (Scheduled Task) en un Windows Server 2008 R2, para ejecutar unas tareas sobre un SQL Server Express a través de sqlcmd. Es decir, nuestra tarea ejecuta un BAT o un CMD, y además deseamos que se ejecute con la identidad de System. Sin embargo, tras comprobar que nuestra tarea funciona correctamente (ejecutándola manualmente desde el Task Scheduler, y comprobando que finaliza con éxito), tras dejarla planificada para su ejecución diaria, descubrimos que no se ha ejecutado, y que en su lugar nos ha devuelto un error 1 (Return Code 1). Tras varias pruebas, encontramos la solución, bastante sencilla aunque un poco sin sentido. Al crear la Tarea Programada, por defecto se estaba creando con la opción Configure for establecida a “Windows Vista, Windows Server 2008”. Pues bien, tan sólo tuvimos que cambiar este valor a “Windows 7, Windows Server 2008 R2”, y empezó a funcionar. Tócate los pies. ¿A qué era sencilla? Pues ala, a ver si el siguiente, pierde menos tiempo que yo en esta chorrada. Un último detalle a tener en cuenta es la opción Run with highest privileges. En mi caso no me ha sido necesario activarla, pero se trataba de una máquina con UAC desactivado, por lo que probablemente en un servidor con UAC, quizás sea necesaria esta opción. Poco más por hoy. Como siempre, confío que la lectura resulte de interés. |