Blog de Jesús Sequeiros Arone

Para aprender SQL Server, Excel, Word, Acces y más...

Solución al error 3013, 33111 en SQL Server

Lun, 14/11/2022 - 19:27 -- jsequeiros

Problema

Al intentar restaurar una copia de seguridad de sql Server en otra instancia aparece el siguiente mensaje de error:

SQL Server, Excepción al ejecutar una instrucción o un proceso por lotes Transact-SQL. No se encuentra el servidor certificado con la huella digital

Excepción al ejecutar una instrucción o un proceso por lotes Transact-SQL. No se encuentra el servidor certificado con la huella digital

Mensaje de Error al ejecutar script de restauraciòn de base de datos.

Mens. 33111, Nivel 16, Estado 3, Línea 2
No se encuentra el servidor certificado con la huella digital '0xF65BFAC0A270B5818A1C219EEA88383BFA56AF27'.
Mens. 3013, Nivel 16, Estado 1, Línea 2
Fin anómalo de RESTORE DATABASE.

Solución

  • La copia de seguridad que se está intentando recuperar está cifrada.
  • Crear una clave maestra de base de datos para la base de datos maestra, no es necesario que sea la misma clave maestra de la base de datos que se usó en la instancia original.
  • Crear un certificado o clave a partir de una copia de seguridad, para crear un certificado o clave a partir de la copia de seguridad que creó de la clave original utilizada para cifrar la base de datos utilizar el siguiente comando:
    --Crear una clave maestra.
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Pa$$w0rd';
    --Restaurar el Certificado desde un backup.
    CREATE CERTIFICATE Certificado
    FROM FILE = 'C:\Backups\BackupCertificado.cer'
    WITH PRIVATE KEY (
    DECRYPTION BY PASSWORD = 'CertificadoPa$$w0rd',
    FILE = 'C:\Backups\Backup.key');
    

    El nuevo certificado o clave debe tener el mismo nombre que el original y, si usó; un certificado, debe restaurar tanto el certificado público como la clave privada.

  • Restaurar la base de datos. Ahora que la clave de cifrado está disponible en la instancia de SQL Server, ya se puede restaurar la base de datos con normalidad.
    --Restaurar la base de datos cifrada
    RESTORE DATABASE AdventureWorks
    FROM DISK = 'C:\Backups\Backup_AdventureWorks_cifrado.bak'

Añadir nuevo comentario