No soy un DBA, pero como están las cosas, tengo que usar el sombrero de DBA y configurar planes de mantenimiento en mi instancia de SQL Server.
Entonces, durante un tiempo he estado haciendo que mi proceso SSIS durante la noche ejecute una tarea Ejecutar SQL para realizar las copias de seguridad, básicamente ejecutándose master.dbo.xp_create_subdir
para garantizar que existan las carpetas de destino, y luego BACKUP DATABASE [DbName] TO DISK = 'G:\Backups\DbName\DbName.bak' WITH INIT
.
Cada vez que fallaba esa tarea, el resto del proceso abortaba y recibía una notificación, y llegaba a la mañana siguiente para notar que la unidad de registros de transacciones estaba llena, y entonces los truncaba manualmente y continuaba. .. hasta que la historia se repitió y los registros de transacciones superaron nuevamente el espacio disponible en disco.
El script "truncado manual" se ve así:
use Staging; alter database Staging set recovery simple alter database Staging set recovery full dbcc shrinkfile ('Staging_log', 0, truncateonly); go
Así que me estoy cansando de esto, y decidí intentar hacer las cosas correctamente , y seguir los pasos aquí y crear un plan de mantenimiento real :
La cosa es que nunca he hecho esto antes, así que tengo algunas preguntas:
- ¿Hacer una copia de seguridad de los registros de transacciones como este los truncará automáticamente, o hay algo más que deba hacer?
- ¿Está bien ejecutar copias de seguridad de registros de datos y transacciones al mismo tiempo? Si no es así, ¿cuál es la forma correcta de hacer esto?
- Los archivos de copia de seguridad se recogen de la noche a la mañana mediante otro proceso que toma todos los archivos del servidor y los almacena en otro lugar. ¿Sería una buena idea expirar el conjunto de copias de seguridad después de 2 días? ¿Necesito hacer que caduquen?
- Las tareas de limpieza eliminan respectivamente los archivos "antiguos" .bak y .trn en las subcarpetas de
G:\Backups
. ¿Tiene sentido? - ¿Sería mejor hacer esto en SSIS, para que pueda fallar mi ETL si / cuando fallan las copias de seguridad? ¿O debería importarme mi proceso ETL?
Lo siento si son demasiadas preguntas para una publicación, si es necesario, editaré y haré varias preguntas en su lugar, creo que todas están estrechamente relacionadas.