Actualmente tengo una tarea programada que se activa cada noche a las 2 AM que llama a SQLCMD.exe y le pasa un script .sql para ejecutar la copia de seguridad (que se muestra a continuación). Somos una empresa bastante pequeña con necesidades crecientes debido al gran crecimiento en el lado comercial. La pérdida de 1 día de datos en este punto costaría decenas de miles de dólares frente a unos cientos este año el año pasado. Hasta que pueda migrar esta plataforma de base de datos a una solución diferente donde la duplicación de datos se produce con mayor redundancia como SQL Azure, ¿qué es lo mejor que puedo hacer para obtener copias de seguridad más frecuentes? ¿Este script a continuación obliga a la base de datos a estar fuera de línea? ¿Puedo ejecutar este script con usuarios que interactúan con la base de datos?
USE CompanyCRM;
GO
BACKUP DATABASE CompanyCRM
TO DISK = 'D:\CRMBackups\CompanyCRMCRM.Bak'
WITH FORMAT,
MEDIANAME = 'CompanyCRM_Backup',
NAME = 'Full Backup of CompanyCRM';
GO
Actualizar
Wow, obviamente una comunidad de DBA mucho más dedicada aquí que en SO. Gracias por los comentarios hasta ahora. Lo único que falta son los "cómo". He mostrado el comando SQL anterior que estoy usando para hacer copias de seguridad diarias, pero los ejemplos de copia de seguridad de registro incremental son MIA. Este no es un DB grande, actualmente se ejecuta en SQLExpress. Cuando digo HA o SQL Azure, me refiero específicamente a la arquitectura que no tenemos como pequeña empresa. Esta instancia se está ejecutando actualmente en nuestro ÚNICO servidor. Si ese servidor falla, nuestro tiempo de recuperación se convierte en un punto conflictivo. Es por eso que SQL Azure se vuelve atractivo.