it-swarm-es.com

Cómo excluir índices de copias de seguridad en SQL Server 2008

Nuestras copias de seguridad nocturnas completas (y diferenciales periódicas) se están volviendo bastante grandes, debido principalmente a la cantidad de índices en nuestras tablas; aproximadamente la mitad del tamaño de la copia de seguridad se compone de índices.

Estamos usando el modelo de recuperación Simple para nuestras copias de seguridad.

¿Hay alguna forma, mediante el uso de FileGroups o algún otro método de partición de archivos, para excluir índices de las copias de seguridad?

Sería bueno si esto pudiera extenderse también a los catálogos de texto completo.

19
Jarrod Dixon

Si cambia al modo de recuperación completa, puede hacer esto con grupos de archivos, pero es muy, muy torpe. Dejas los datos en el grupo de archivos principal y colocas los índices en un grupo de archivos separado (no predeterminado, esa es la clave).

Luego, escalona tus copias de seguridad para que estés haciendo copias de seguridad de grupos de archivos del primario todas las noches y copias de seguridad del registro de transacciones cada X minutos.

Cuando ocurre un desastre, restaura el grupo de archivos principal por sí mismo. De repente, los datos están en línea, pero los índices no. Sin embargo, para volver a la normalidad, deberá exportar esos datos a una nueva base de datos limpia y agregar índices desde allí. No puede poner la base de datos completamente en línea sin restaurar todos los grupos de archivos, y no puede decir "Ya no necesito ese otro grupo de archivos".

Para obtener más información sobre cómo funciona esto, consulte mi video tutorial sobre restauraciones de grupos de archivos

15
Brent Ozar

Honestamente, realmente no quiere hacer esto, incluso si supera los otros problemas que otros plantean aquí.

Cuando restaure la copia de seguridad en una emergencia, no querrá esperar a que se reconstruyan los índices y sufrirá un rendimiento abominable hasta que lo haga.

No puedo pensar en una situación en la que desee restaurar una copia de seguridad sin índices, por lo que en todos los casos realmente querrá hacer una copia de seguridad al mismo tiempo.

Es probable que deba buscar otras soluciones a este problema ...

-Adán

6
Adam Davis

Suena como si esto no fuera compatible. De esto información del informe de error :

Ha habido mucho interés en este, así que entraré en un poco más de detalle sobre lo que está sucediendo detrás de escena y lo que significaría implementar esta funcionalidad. Algunos tipos de páginas de índice se segregan en unidades de asignación independientes, mientras que otros se mezclan con las páginas de datos. Donde actualmente solo miramos el mapa de bits de asignación para ver si se asigna una extensión, ahora tendríamos que entrar e interpretar lo que está almacenado en cada unidad de asignación. Además, ahora no podríamos simplemente hacer un escaneo lineal de los archivos de datos copiando datos, estaríamos saltando en el archivo. Toda esta interpretación de las estructuras de datos ralentizaría drásticamente la copia de seguridad. La restauración se vuelve aún más interesante, porque hay muchas estructuras que tendrían que arreglarse para tener en cuenta los agujeros en la copia de seguridad. De lo contrario, tendrías mapas de asignación que apuntan a páginas que no fueron respaldadas y, por lo tanto, tendrían basura en ellas, etc. etc. Entonces, implementar esto significaría que ahorraríamos menos datos, tardaríamos más en hacerlo y necesitaríamos mucho más tiempo restaurándolo. La otra faceta a considerar es que esto requeriría una gran cantidad de esfuerzo de ingeniería para hacerlo bien. Si bien ese no es su problema en la superficie, considere que significa que otras funciones que quizás desee ver no se construirían.

3
Jon Galloway

puede ser una idea loca, pero aquí va.

  1. elimine sus índices no agrupados que ocupan mucho espacio
  2. hacer una copia de seguridad
  3. volver a crear los índices que soltó

Por supuesto, solo puede hacer esto si su base de datos permite algún tiempo de inactividad durante el día.

Además, no elimine los índices agrupados, ya que SQL Server perderá mucho tiempo convirtiéndolos en un montón.

¿Comprar ese espacio adicional en disco parece una solución más fácil todavía?

¿Ha considerado hacer copias de seguridad comprimidas ? esta es una característica nueva de 2008, puede ser una opción para usted.

1
Nick Kavadias