Muchas veces nos encontramos que una base de datos de sistema llamada msdb creció de manera exponencial y no sabemos porqué, es más, no sabemos para que sirve esa base de datos. Pues bien, aquí vamos a explicar que es esa base de datos, porque se llena tanto y que hacer para poder purgarla.
La base de datos msdb es una base de datos del sistema SQL SERVER, que se utiliza principalmente para la opciones del agente, en ella se guardan los correos electrónicos enviados, el historial de los jobs, los operadores, las alertas, etc, pero también se guarda información importante como historial de respaldos, por lo que el mantenimiento y respaldo de esta base de datos es muy importante.
Podemos encontrar esa base de datos aquí
Al momento de ejecutar el query, nos devolverá algo como esto:
La base de datos msdb es una base de datos del sistema SQL SERVER, que se utiliza principalmente para la opciones del agente, en ella se guardan los correos electrónicos enviados, el historial de los jobs, los operadores, las alertas, etc, pero también se guarda información importante como historial de respaldos, por lo que el mantenimiento y respaldo de esta base de datos es muy importante.
Podemos encontrar esa base de datos aquí
Esta base de datos se puede llenar por varias razones, pero la más común es que se llene por el historial de correos enviados desde el agente o bien por el historial de los trabajos (jobs) que tiene el agente.
En este ejemplo, podemos ver que la base de datos msdb pesa casi 10 GB como se muestra en la imagen.
con el procedimiento de sistema
use msdb
go
exec dbo.sp_help_jobhistory
podemos ver el historial de todos los jobs
El resultado de esa consulta regresara algo similar a esto
Si nunca se ha depurado el historial, es muy posible que esa sea la razón por la cual esa base de datos esta tan pesada.
Para eso vamos a ejecutar el siguiente comando:
use msdb
go
exec sp_purge_jobhistory
Con este procedimiento, vamos a limpiar todo el historial de los jobs, ese procedimiento recibe parámetros, si no se le manda ningún parámetro como es el caso, entonces procederá a dejar vacío todo el historial de todos los jobs
Los parámetros que podría recibir son tres:
Al momento de ejecutar el query, nos devolverá algo como esto:
Ahora solo faltaría realizar un Shrink Database a la base msdb para que el tamaño quede reducido
Una vez realizado lo anterior, revisaremos el tamaño de la base msdb, como veremos en la siguiente imagen:
Como ven, la base de datos msdb quedó vacía correctamente, se puede dar el caso, que aun la base siga estando muy pesada, en ese caso se tendría que hacer lo mismo con los correos.
exec dbo.sysmail_delete_mailitems_sp
También esta función puede recibir dos parámetros
Hasta aquí el post, espero que les haya servido. Cualquier duda, pregunten. Den clic a algún anuncio que les interese, sería de gran ayuda para mí.
Saludos
No hay comentarios.:
Publicar un comentario