Desactivando Jobs de SQL Server
En mi empresa, queremos cerrar un servidor SQL Server 2000 con un DWH, pero es el típico servidor que lleva montado muchísimo tiempo y el desarrollador ya no esta en la empresa, y la gente no sabe como va. Así que se ha decidido montar uno nuevo (ya con SQL 2008..a si que es un BI :D). Pero claro, ahora toca apagar este servidor y como nadie sabe a ciencia cierta que es lo que puede pasar hemos decidido hacerlo poco a poco.
Primer paso: Evitar que los jobs se puedan lanzar, pero no apagamos el SQL Server Agent, para ver que usuarios intentan lanzarlo así podremos desactivarlo todo. Así que me voy al Enterprise Manager y me encuentro con mas de 500 jobs creados por ahí.. así que toca tirar de TSQL para tener que estar todo el día desactivando Jobs.
1 – Miramos que Jobs están Activos (Enabled)
USE MSDB SELECT * FROM SYSJOBS WHERE ENABLED=1
Estos query la sacamos por el Query Analyzer y la exportamos a un fichero.
2 – Desactivamos los Jobs Activos (Enabled)
USE MSDB UPDATE SYSJOBS SET ENABLED=0 WHERE ENABLED=1
Ahora ningun Job esta Activo, podemos hacer lo mismo para las programaciones (Schedules)
USE MSDB SELECT * FROM SYSJOBSCHEDULES WHERE ENABLED=1
Copiamos el resultado para tener una copia
Desactivamos las programaciones (Schedules)
USE MSDB UPDATE SYSJOBSCHEDULES SET ENABLED=0 WHERE ENABLED=1
Espero que os sea de utilidad

) tenia bien hecho el backup de la BD, porque sino aunque fuera culpa del programador o del usuario, el problema hubiera sido mio por no tener un buen backup (de esto ya hablare en otra entrada, porque es algo que me hace mucha gracia..(ironia = on))

) para que seleccionemos las BDs que queramos y adaptemos cada tarea segun tus necesidades. Al escoger las BDs aconsejo marcar el Checkbox de que ignore las BDs que no estan Online.