Recuperar backups SQL cifrados tras perder el servidor
Conserva certificados y claves privadas de los backups cifrados y prueba la restauración en una instancia que no dependa del estado del servidor original.
Un backup intacto puede ser inutilizable en otro servidor. Si la clave privada del certificado necesario solo existe en la instancia perdida, copiar el archivo no basta. El plan de recuperación debe incluir material criptográfico y un camino probado para utilizarlo fuera del origen.
Identificar qué protege la copia
Distingue cifrado explícito de backups y Transparent Data Encryption. El primero utiliza el cifrador configurado para la copia. TDE protege la base mediante una clave cuyo protector debe estar disponible al moverla o restaurarla. Una cadena puede depender de ambos mecanismos.
Para certificados, inventaría los existentes en master y relaciona sus huellas con los backups. La consulta es un punto de partida, no demuestra que cada certificado sea necesario para cada archivo.
USE master;
SELECT name, thumbprint, expiry_date,
pvt_key_encryption_type_desc
FROM sys.certificates
WHERE name NOT LIKE '##%'
ORDER BY name;
Usa metadatos reales de backup o restore para identificar el cifrador correspondiente. El nombre amigable puede variar entre servidores; importa la identidad criptográfica. Si intervienen claves asimétricas o un proveedor externo, sigue su procedimiento documentado en lugar de esta receta de certificados.
No supongas que el backup de usuario contiene todo lo necesario para iniciar su propio descifrado. La instancia destino necesita el protector y acceso a la clave privada antes de restaurar.
Exportar certificado y clave privada
La plantilla usa un certificado existente llamado BackupRecoveryDemo. Sustituye nombre, rutas y secreto. El directorio debe existir y ser accesible al servicio SQL Server. El script no crea un cifrador ni cambia tareas de backup.
USE master;
BACKUP CERTIFICATE [BackupRecoveryDemo]
TO FILE = 'D:\KeyExport\BackupRecoveryDemo.cer'
WITH PRIVATE KEY
(
FILE = 'D:\KeyExport\BackupRecoveryDemo.pvk',
ENCRYPTION BY PASSWORD = 'REPLACE_WITH_A_UNIQUE_SECRET'
);
El archivo .cer no basta cuando se necesita la clave privada. Conserva el archivo privado cifrado y su contraseña mediante canales de recuperación controlados e independientes. Guardar la única contraseña en la base protegida por esa misma clave crea una dependencia circular.
La importación se ejecuta en master del destino. Presupone una clave maestra de base existente y utilizable por el operador autorizado. Prepara ese requisito si falta, sin sustituir ciegamente una clave existente.
USE master;
CREATE CERTIFICATE [BackupRecoveryDemo]
FROM FILE = 'D:\KeyImport\BackupRecoveryDemo.cer'
WITH PRIVATE KEY
(
FILE = 'D:\KeyImport\BackupRecoveryDemo.pvk',
DECRYPTION BY PASSWORD = 'REPLACE_WITH_A_UNIQUE_SECRET'
);
La contraseña de exportación descifra el archivo privado durante la importación. No es la contraseña del login ni necesariamente la de la clave maestra destino. Diferencia esos secretos en el procedimiento.
Después comprueba huella y disponibilidad de la clave privada. Retira copias temporales siguiendo el proceso operativo y conserva las copias duraderas de recuperación. No publiques secretos reales en tickets, código o transcripciones.
Probar una recuperación independiente
Un ensayo en la instancia original puede funcionar porque ya posee el certificado. Usa un destino aislado con inventario conocido. Restaura la secuencia necesaria de completa, diferencial y logs hasta el punto requerido, y verifica consistencia y funcionamiento básico de la aplicación.
Registra archivos, huellas, obtención de secretos, permisos, duración y punto recuperado. RESTORE VERIFYONLY aporta evidencia útil sobre el backup, pero no reemplaza una restauración completa con base utilizable.
Rotar claves no elimina la dependencia de copias históricas retenidas. Conserva protectores antiguos mientras alguna cadena requerida los necesite. Un nuevo backup completo con otro certificado no reescribe archivos anteriores ni logs ya guardados.
Prueba además indisponibilidad del almacén de secretos, contraseña privada ausente y recuperación por otro operador autorizado. Comprueba que ese operador puede identificar archivos y roles de cada contraseña sin depender de recuerdos del administrador original. El objetivo es reconstruir todo el camino de descifrado cuando desaparecen el servidor y su estado local.
Referencias técnicas: Microsoft Learn: BACKUP CERTIFICATE · Microsoft Learn: Backup encryption · Microsoft Learn: Moving a TDE database.