Pregunta

Como seguimiento de esta pregunta me pregunto cuál es su SQL El plan de mantenimiento / copia de seguridad del servidor es, y cómo puedo mejorar el mío.

Actualmente estoy ejecutando dos planes de mantenimiento simples del asistente de planes.

El primero se ejecuta todas las noches y hace casi todo ...

  • Copia de seguridad completa de la base de datos y el registro de transacciones
  • verificación de integridad, índice de reconstrucción, recalcular estadísticas, etc. (verifiqué todo excepto la copia de seguridad incremental)

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

Las copias de seguridad se realizan en el disco, las copias de seguridad completas se envían a la SAN y se retienen durante una semana.

¿Qué crees que es este un plan sensato? ¿Alguna sugerencia?

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

¿Fue útil?

Solución

Suena bastante bien. Soy más paranoico Hago dos copias de seguridad completas diarias y copias de seguridad del registro de transacciones por hora. Depende del tamaño de la base de datos o 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 hacer las tareas de mantenimiento todos los días. Solo los hago el fin de semana, excepto por esta mesa que reindexamos todas las noches. Nuevamente, esto depende del tamaño y la actividad de la base de datos.

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

Otros consejos

Debería hablar con sus usuarios / clientes / custodios de datos, como los llame. Necesitan tener una comprensión clara de cuánto trabajo pueden perder. Escriba un SLA si no tiene uno. No quieres sorpresas cuando se trata de malas noticias.

También deben comprender que la restauración 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 registro cada 5 minutos. Esto no es una locura o paranoia, como dijo Marcus Erickson: todo se reduce a su información y al valor en dólares que su organización le da.

No creo que estés paraniod ejecutando copias de seguridad cada 3 horas. Básicamente, su plan de respaldo debe medirse según sus requisitos de restauración. ¿Cuánto tiempo puede permitirse estar inactivo mientras se recupera frente a la cantidad de datos que está dispuesto a perder antes de estar inactivo? 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 copias de seguridad. 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 completo, el último incremento y luego todas las copias de seguridad del registro de transacciones desde el incremental. Esto puede proporcionarle una pérdida mínima de datos, pero puede llevar un poco de tiempo aplicar todas las copias de seguridad del registro de transacciones. Veo lo siguiente con bastante regularidad: Copias de seguridad completas - Semanal Copias de seguridad incrementales: todas las noches Copias de seguridad de registro: cada pocos minutos según los requisitos (puede ser bueno una vez por hora, etc.)

Recuerde hacer simulacros cuando realmente intente restaurar desde las copias de seguridad que cree (a un sistema de prueba). Esto debería hacerse tal vez una vez al mes.

Lo mínimo que recomiendo a mis clientes es hacer una copia de seguridad completa de la base de datos todas las noches 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.

En mi opinión, la mejor manera es:

Realice la copia de seguridad completa de la base de datos cada 12 horas

BASE DE DATOS DE COPIA DE SEGURIDAD PARA DISCO = 'd: /full.bak'

una copia de seguridad diferencial cada seis horas, en caso de falla, facilita el proceso de restauración

BASE DE DATOS DE COPIA DE SEGURIDAD A DISCO = 'd: /diff.bak' CON DIFERENCIALES

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

BACKUP LOG database TO DISK = 'log.bak'

Si se produce un error, el proceso de recuperación será el siguiente:

  • La última copia de seguridad completa
  • La última copia de seguridad diferencial
  • El último registro de transacciones

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top