Si una base de datos se separa de una instancia de forma permanente, ¿hay alguna tarea de limpieza que deba hacerse?
10
Si una base de datos se separa de una instancia de forma permanente, ¿hay alguna tarea de limpieza que deba hacerse?
Respuestas:
Si separa una base de datos de una instancia, deberá realizar una eliminación del archivo a nivel del sistema operativo. El enfoque más seguro es descartar la base de datos.
Lo que sugiero es tomar una copia de seguridad final de la base de datos después de ponerla en modo de solo lectura (ya que esto asegurará que no se produzca actividad durante la copia de seguridad), después de lo cual elimínela de su sistema mediante un comando Soltar base de datos .
El conjunto completo de comandos sería similar al siguiente:
Después de esto, querrá buscar cualquier trabajo que ejecute scripts en la base de datos. Le sugeriría que espere para ver qué falla (después de lo cual puede eliminar / borrar el trabajo) ya que hay muchas formas en que un trabajo puede hacer referencia a una base de datos (no todas son fáciles de identificar).
Finalmente, querrá eliminar a los usuarios de la instancia que solo tenían acceso a esta base de datos. Este script debe identificar quiénes son esos usuarios, aunque la versión de Max es mucho más limpia (no me di cuenta de que publicó un enfoque hasta después de editar mi respuesta para incluir esto):
fuente
He votado a favor la respuesta de John; Solo me gustaría agregar algunos detalles sobre otros elementos que tal vez desee limpiar.
Los trabajos y alertas del Agente SQL Server pueden hacer referencia a la base de datos. Limpiarlos evitará que se reporten errores innecesarios.
Elimine los inicios de sesión creados específicamente para la base de datos. El siguiente T-SQL identificará posibles inicios de sesión de candidatos que puede investigar para ver si se están utilizando. El código identifica inicios de sesión a los que ninguna base de datos hace referencia.
Pueden existir dispositivos de respaldo para esa base de datos. Si bien eliminarlos no es estrictamente necesario, si no se usan, deberían eliminar la posible confusión futura.
Los desencadenantes a nivel de servidor pueden hacer referencia a la base de datos.
Busque planes de mantenimiento que hagan referencia a la base de datos; estos fallarán si no se actualizan para eliminar la base de datos que falta.
fuente
Todos los puntos principales ya han sido cubiertos. A continuación están mis 2 centavos:
Separar una base de datos nunca es una solución permanente, ya que estaba destinado a usarse para mover los archivos de la base de datos dentro del servidor o a otro servidor. La eliminación de una base de datos de forma permanente se puede hacer mediante la opción Eliminar en SSMS o el comando de base de datos DROP como se mencionó anteriormente.
Por lo general, las bases de datos que se mantienen intencionalmente fuera de línea y siguen generando Alertas son las que separamos y mantenemos hasta que se puedan eliminar de forma permanente (Eliminado).
Tarea previa a la separación: Ejecute
sp_helpdb dbname
para conocer las ubicaciones de los archivos.Tareas de limpieza:
Además de Logins, Agent Jobs, Triggers y puntos ya mencionados por Max, estos 2 también se pueden considerar.
fuente