Mantenimiento

08/05/2005 - 18:27 por daniel | Informe spam
hola gente, miren les comento tengo una base en SQL a la cual necesito
hacerle el plan de mentenimiento. Ahora tengo un problema, el mantenimiento
lo programo para que se haga durante la madrugada, el problema es que cuando
los usuarios dejan la aplicacion abierta no se ejecuta porque dice que base
esta en uso y no la puede poner como single user, pero en el plan de
mantenimiento no tengo una opcion para sacar los usuarios y eso. que me
recomiendas hacer?

y otra cosa mas, la base nos esta dando errores de integridad en las paginas
y en los links, eso lo reparamos con el dbcc checkdb repair_allow_data_loss,
en el plan de mantenimiento de ejecuta ese comando? porque siempre lo
terminamos corriendo manualmente. me conviene en lugar de usar el plan de
mantenimiento, hacer un script que ejecute esos dbcc y listo? cuales tendria
que correr para hacer una chequeo completo de la base (dato, indices,
paginas, archivos fisico, etc) y que si hay algun error lo repare?

gracias
seba
 

Leer las respuestas

#1 qwalgrande
08/05/2005 - 22:45 | Informe spam
Hola.

Los planes de mantenimiento que se preparan con el asistente del Enterprise
Manager son de utilidad en un amplio rango de casos, pero hay otros muchos
casos, como el tuyo, en los que son de difícil aplicación o en los que se
requiere, digamos una intervención más a medida.

En tu caso, lo que puedes hacer es, en cada job del plan de mantenimiento,
crear un paso inicial que se encargue de finalizar las conexiones a las
bases de datos de usuario. Esto sería mejor hacerlo de la aplicación esa que
se dejan abierta, pero entiendo que no será lo más fácil. Así podrás luego
poner la base de datos en modo single user y correr el comando dbcc (de
reindexación, chequeo, etc). Eso sí, MUCHÍSIMO CUIDADO CON LAS REPERCUSIONES
QUE ESTO PUEDE TENER.

Por otra parte, dbcc checkdb repair_allow_data_loss puede provocar la
pérdida de datos (como su nombre indica), ten mucho cuidado el uso que haces
de este comando, en principio debería ser tu último recurso, cuando hayas
aplicado dbcc checkdb con el resto de parámetros sin que haya resuelto nada.

Si quieres prepararte tu planes de mantenimiento a medida, puedes hacerlo,
pero échale antes un buen repaso a los comandos en los BOL, especialmente
dbcc dbreindex, dbcc indexdefrag y dbcc checkdb. Bueno, creo que deberías
hacerlo en cualquier caso, aunque sigas usando el plan de mantenimiento que
utilizas ahora, para saber exactamente lo que se ejecuta en cada plan.

qwalgrande


"daniel" escribió en el mensaje
news:uadIFq%
hola gente, miren les comento tengo una base en SQL a la cual necesito
hacerle el plan de mentenimiento. Ahora tengo un problema, el
mantenimiento
lo programo para que se haga durante la madrugada, el problema es que
cuando
los usuarios dejan la aplicacion abierta no se ejecuta porque dice que
base
esta en uso y no la puede poner como single user, pero en el plan de
mantenimiento no tengo una opcion para sacar los usuarios y eso. que me
recomiendas hacer?

y otra cosa mas, la base nos esta dando errores de integridad en las
paginas
y en los links, eso lo reparamos con el dbcc checkdb
repair_allow_data_loss,
en el plan de mantenimiento de ejecuta ese comando? porque siempre lo
terminamos corriendo manualmente. me conviene en lugar de usar el plan de
mantenimiento, hacer un script que ejecute esos dbcc y listo? cuales
tendria
que correr para hacer una chequeo completo de la base (dato, indices,
paginas, archivos fisico, etc) y que si hay algun error lo repare?

gracias
seba


Preguntas similares