Sidebar

Procedimiento a seguir para dar de baja un servidor de datos ASE buscando asegurar la integridad de la información y un arranque rápido.Extraído y complementado con experiencias propias, del libro de Rob Vershoor "Tips, Tricks & Recipes..."

ASE cuenta con una serie de comandos que nos permitirán realizar la baja del servicio de bases de datos en diferentes formas.

1. SHUTDOWN. Es la forma mas "limpia" de dar de baja el servidor. Toda la información que hay en memoria o circulando en los cachés se refresca hacia los dispositivos físicos (un sp_who mostraría la ejecución del comando CHECKPOINT).Las transacciones son abortadas y el servidor espera a que el roll back correspondiente concluya. Cualquier otra transacción que se encuentre requiriendo consulta u otras tareas deberán ser eliminadas por medio del comando kill.

2. SHUTDOWN WITH NOWAIT.  Si a pesar de todo el comandodel punto 1 se queda "esperando" a que una transacción que no podemos identificar o eliminar termine, podemos aplicar este del punto 2.  Este comando no espera a los roll back en proceso y aborta de inmediato todas las transacciones. Esto hará lento el arranque. Por lo anterior se sugiere lo siguiente:

    a. Prueba de nuevo a eliminar todas las conexiones que puedas y reintenta shutdown.

    b. Bloquea las conexiones de logines con sa_rol, si es que están firmándose mientras tratas de dar de baja el servidor.

    c. Aplica un checkpoint a cada base de datos, actualizando así toda la información en los dispositivos físicos y abriendo camino a un arranque veloz. Si quieres evitar huecos en tus columnas identity, utiliza también dbcc cacheremove.

El comando "shutdown with nowait" se puede considerar un esquema "sucio" para dar de baja.

3. KILL -15.   Si no es posible entrar al servidor por un bloqueo generalizado, y es necesario darlo de baja, aplica el comando de S.O. kill -15 <pid.  Esto equivale a una baja con el comando "shutdown with nowait". Envía una señal a los procesos de la base de datos para que se den de baja.

4. KILL -9. Si nada de lo anterior funciona, seguramente este comando lo hará. Termina de forma abrupta el servicio del servidor, sin dar tiempo a nada mas.  ESTA ES LA ULTIMA ULTIMA OPCIÓN, solo si lo anterior no funciona, y puede exponer a diferentes grados de corrupción. Por lo general se observan graves corrupciones si durante la ejecución del comando DUMP TRAN  se aplica un kill -9.

5. A veces sucede que el kill -9 crea procesos defunct que ya no pueden eliminarse .... en este caso, sugiere al administrador del sistema que aplique una reinicialización del equipo.


Tips BD