%20al%20restaurar%20desde%20Azure%20Blob%20Storage%20a%20SQL%20Server%202014%3F.png)
Nuestro servidor de base de datos de producción realiza una copia de seguridad de sus bases de datos todas las noches en Azure Blob Storage, utilizando el BACKUP TO URL
comando en SQL Server 2014 Standard. Ahora estoy intentando restaurar esas copias de seguridad en una nueva máquina virtual con SQL Server que configuramos en Azure, que también ejecuta SQL Server 2014 Standard. Estoy ejecutando el siguiente comando SQL:
RESTORE DATABASE Example FROM URL = 'https://exampleaccount.blob.core.windows.net/livedbbackups/ExampleBackup-2015-10-15T01-13-08.bak';
WITH CREDENTIAL = 'AzureBackupCredential',
MOVE 'Example' TO 'C:\Databases\Example.mdf',
MOVE 'Example_log' TO 'C:\Databases\Example.ldf',
STATS = 5;
Cuando hago esto, la restauración se ejecuta durante más de 10 minutos y puedo ver su progreso en la ventana "Mensajes" de SQL Server Management Studio. Sin embargo, justo antes de que llegue al 100%, se muestra el siguiente mensaje de error.
Salida en Azure VM que ejecuta Microsoft SQL Server 2014 - 12.0.4213.0 (X64) Standard Edition (64 bits) en Windows NT 6.3 (compilación 9600:) (hipervisor):
85 percent processed.
90 percent processed.
95 percent processed.
Msg 3013, Level 16, State 1, Line 5
RESTORE DATABASE is terminating abnormally.
Buscar en Google "Error 3013 de SQL Server" o "La base de datos de restauración de SQL Server finaliza de forma anormal" genera muchas páginas que sugieren que el archivo de mi base de datos está dañado. Sin embargo, no creo que lo sea, porque puedo correrexactamente el mismo SQLen mi computadora portátil con SQL Server 2014 Express y obtengo el siguiente resultado:
Salida en una computadora portátil que ejecuta Microsoft SQL Server 2014 - 12.0.2269.0 (X64) Express Edition (64 bits) en Windows NT 6.3 (compilación 10240:) (hipervisor):
85 percent processed.
90 percent processed.
95 percent processed.
100 percent processed.
Processed 233600 pages for database 'Example', file 'Example' on file 1.
Processed 5 pages for database 'Example', file 'Example_log' on file 1.
RESTORE DATABASE successfully processed 233605 pages in 205.802 seconds (8.867 MB/sec).
Ambas declaraciones de restauración se ejecutaron exactamente en la misma URL, con el mismo archivo de copia de seguridad inalterado. Si se restaura correctamente en mi copia local de SQL Server Express, no puede estar dañado, ¿verdad?
Aquí hay algunas otras posibles causas que intenté descartar:
- Versión no coincide- La copia de seguridad se ejecutó en un servidor que ejecuta Microsoft SQL Server 2014 - 12.0.2269.0 (X64) Standard Edition (64 bits). La restauración se ejecutó en un servidor que ejecuta Microsoft SQL Server 2014 - 12.0.4213.0 (X64) Standard Edition (64 bits). Estos números de versión se determinaron ejecutando
SELECT @@VERSION
en cada uno de los servidores. - Errores de permisos- Ambos
RESTORE HEADERONLY
funcionanRESTORE FILELISTONLY
correctamente en la máquina virtual de Azure que no restaura la base de datos. - Espacio libre- La unidad C: de la VM de Azure tiene más de 80 GB libres.
- Conectividad de red- No he realizado ninguna prueba exhaustiva, pero dado que la máquina virtual que ejecuta SQL Server se ejecuta dentro de Azure y el archivo de copia de seguridad también está en Azure, imagino que es bastante estable. Las descargas de archivos y las pruebas sencillas con el navegador parecen indicar que la conexión es estable y rápida.
La base de datos en cuestión ocupa aproximadamente 2 GB cuando se restaura, con un archivo de registro de 5 GB. Tengo otras copias de seguridad de la misma base de datos almacenadas en Azure y obtengo los mismos resultados cuando intento restaurar cualquiera de ellas (funciona en SQL Server Express 2014 local, falla en Azure VM SQL Server Standard 2014).
¿Alguna idea de qué podría estar causando esto y cómo solucionarlo?
Respuesta1
Este hilo es un poco antiguo pero hoy me enfrenté al mismo problema. Hice una restauración desde el almacenamiento de blobs hace algún tiempo y todo funcionó bien; una semana después, la misma restauración devolvía el error "RESTAURAR LA BASE DE DATOS TERMINADA ANORMALMENTE". Entonces moví mis archivos de respaldo a un contenedor diferente y funcionó bien.
Espero que esta solución ayude a alguien más.