2008-11-17 10 views
7

Como continuación de this question me pregunto cuál es su plan de copia de seguridad/mantenimiento de SQL Server y cómo puedo mejorar el mío.¿Cuál es su plan de copia de seguridad/mantenimiento de SQL Server?

Actualmente estoy ejecutando dos planes de mantenimiento simple-jane del asistente del plan.

Las primeras carreras nocturnas y lo hace casi todo ...

  • base de datos completa y la copia de seguridad del registro de transacciones
  • comprobación de la integridad, la reconstrucción de índice, estadísticas Recalcular, etc. (he comprobado todo, excepto la copia de seguridad incremental)

La otra se ejecuta cada tres horas y realiza una copia de seguridad incremental (estoy paranoico, sé que esto probablemente sea excesivo).

Las copias de seguridad están en el disco, las copias de seguridad completas se envían a la SAN, retenidas durante una semana.

¿Qué opinas, este es un plan sensato? ¿Alguna sugerencia?

EDITAR: Esto es SQL Server 2005. DB tiene 5 GB, crece aproximadamente 1 GB/mes.

Respuesta

7

Suena bastante bien. Estoy más paranoico. Hago dos copias de seguridad completas diarias y copias de seguridad de registro de transacciones por hora. Depende del tamaño de la base de datos o el curso. Las copias de seguridad se realizan directamente en el disco y luego se realizan copias de seguridad en cinta todas las noches.

Probablemente no necesite realizar las tareas de mantenimiento todos los días. Solo los hago los fines de semana, a excepción de esta mesa que reindexamos todas las noches. De nuevo, esto depende del tamaño y la actividad de la base de datos.

Si tiene suficiente espacio en disco y CPU, puede comprimir las copias de seguridad del disco para ahorrar espacio y hacer que la transferencia a la cinta u otra ubicación sea más rápida.

2

No creo que sea paraniod al ejecutar copias de seguridad cada 3 horas. Básicamente, su plan de respaldo debe medirse según los requisitos de restauración. ¿Cuánto tiempo puede darse el lujo de estar deprimido mientras se recupera frente a la cantidad de datos que está dispuesto a perder antes de que caiga? Para SQL Server, puede reducir la cantidad de datos que está dispuesto a perder considerablemente agregando copias de seguridad del registro de transacciones a su plan de respaldo. Muchas personas hacen esto cada pocos minutos, dependiendo de la cantidad de transacciones que pasan por el sistema. Para hacer una restauración, simplemente restaure el último incremento completo, el último incremento y luego todas las copias de seguridad del registro de transacciones desde el incremento. Esto puede proporcionarle una pérdida mínima de datos, pero puede llevar un poco si aplica todas las copias de seguridad del registro de transacciones. Me ve lo siguiente con bastante regularidad: copias de seguridad completas - Semanal copias de seguridad incrementales - Nightly respaldos del registro - cada pocos minutos, dependiendo de los requisitos (puede ser bueno una vez que un etc horas)

3

Debería estar hablando con sus usuarios/clientes/custodios de datos, como los llame. Necesitan tener una comprensión clara de cuánto trabajo pueden perder. Redacte un acuerdo de nivel de servicio si no tiene uno. No quiere sorpresas cuando se trata de malas noticias.

También necesitan entender que restaurar lleva tiempo. Debe planificar su plan de recuperación para crear un tiempo de restauración aceptable. Esto puede significar una copia de seguridad completa diaria, 4 diferenciales y copias de seguridad de registros cada 5 minutos. Esto no es loco ni paranoico, como dijo Marcus Erickson: todo se reduce a tu información y al valor en dólares que tu organización le da.

1

Recuerda hacer firedrills donde intentas restaurar desde las copias de seguridad que creas (a un sistema de prueba). Esto debería hacerse tal vez una vez al mes.

1

Lo mínimo que recomiendo a mis clientes es hacer una copia de seguridad nocturna completa de la base de datos y luego una copia de seguridad de la transacción cada 3 horas. Siempre me sorprende cuántas personas nunca configuran una copia de seguridad. Esas son siempre malas llamadas.

1

En mi opinión, la mejor manera es:

Hacer la copia de seguridad completa cada 12 horas

BACKUP DATABASE database TO DISK = 'd:/full.bak'

una copia de seguridad diferencial cada seis horas, en el caso de un fallo que hace más fácil para restaurar proceso

BACKUP DATABASE database TO DISK = 'd:/diff.bak' WITH DIFFERENTIAL

y, por supuesto, las copias de seguridad de registro de transacciones whic h es mejor hacer cada hora.

BACKUP LOG database TO DISK = 'log.bak'

Si el caso de fallo del proceso de recuperación será el próximo:

  • La última copia de seguridad completa
  • La última diferencial de registro de copia de seguridad
  • La última transacción

Debe admitirse que es mejor utilizar el modelo de recuperación completa para hacer que la recuperación de un punto en el tiempo esté disponible.

Cuestiones relacionadas