AZURE SQL ERROR AL REALIZAR AUTO EXPORTACION (Automated SQL Export failed)

INTRODUCCION:

Con el lanzamiento de los niveles de servicio Básico, Estándar y Premium de la base de datos SQL de Azure, se incorporaron las capacidades de realizar copias de seguridad y de restauración de la base de datos, incluidas con el servicio. Estas nuevas capacidades ayudan a reducir la necesidad de realizar copias de seguridad manualmente para recuperación ante desastres, recuperación de corrupción accidental de los datos y recuperación de datos borrados, mediante el servicio de importación y exportación.

Las Bases de Datos básicas, estándar y premium son respaldadas automáticamente en la base de datos de SQL Azure. Estas copias de seguridad se conservan durante 7 días, 14 días y 35 días respectivamente. Con estas copias de seguridad la base de datos de SQL Azure soporta dos capacidades de restauración:

Punto en el tiempo: permite que una base de datos (BD) sea restaurada a cualquier punto en el tiempo, hasta el milisegundo, dentro del período de retención de la BD.

Geo-Restauración: utiliza la última copia de seguridad geo-redundante para recuperar una BD. Esto significa que una base de datos puede ser recuperada en caso de una interrupción regional con la copia de seguridad geo-redundante que se realizó una hora antes de la interrupción.

La copia de seguridad incorporada y capacidades de restauración de la base de datos de SQL Azure proporcionan gran funcionalidad de recuperación de desastres y errores humanos. Cabe destacar que realizar estas mismas funcionalidades con importación/exportación podría resultar costoso e incurrir en sobrecarga operativa. Sin embargo Importación y Exportación no pueden ser reemplazadas totalmente por las copias de seguridad incorporadas. Importación/exportación, junto con  Herramientas Cliente como SSDT y SSMS, todavía son recomendadas para migrar datos dentro y fuera de la base de datos SQL de Azure.

El uso de la función de auto exportación es una reciente mejora significativa en términos de ahorro de costos operacionales, sin embargo se presenta un error muy común debido a la naturaleza de este servicio, a continuación se describe el problema y las posibles soluciones.

PROBLEMA:

Este es un problema muy común que se reporta constantemente con usuarios de la Base de Datos SQL de Azure, el problema reportado consiste en que la operación de exportación puede fallar por varias razones, dando errores que indican que la auto-exportación al archivo .bacpac ha fallado para una base de datos determinada, sin dar muchos detalle acerca de la causa especifica del problema,  aquí se enumeran las dos principales causas y como obtener más detalles:

1) Esencialmente lo que puede suceder es que tenga creado un procedimiento almacenado (stored procedure), la funcionalidad de copia de seguridad/exportación falla a veces con estos procedimiento almacenados en una base de datos SQL Azure. La causa puede ser el hecho de que el procedimiento hace referencia a la TempDB. Si este es el caso, pruebe de eliminar el procedimiento que causa problemas e intente exportar nuevamente.

2) Este error suele también ocurrir debido a un cambio de esquema en la base de datos que puede haber dado lugar a que un objeto quede invalidado.

Para obtener un error más detallado intente la misma operación desde el portal clásico (https://manage.windowsazure.com/), se puede ver si este es el caso al realizar una exportación manual en ese portal. La exportación fallara generando una notificación roja diciendo algo como  “exportación base de datos ‘db_name’ fallo”. Clic en “Detalles” se mostrará otra línea con una flecha en un círculo que contiene el mensaje de error especifico.

El mensaje de error probablemente se verá como:

      “Error encountered during the service operation.

       Validation of the schema model for data package failed.

       Error SQL71501: Error validating element…. “

SOLUCION:

En la mayoría de los casos este es el resultado de un cambio de esquema que ha hecho que un procedimiento almacenado, vista o función queden inválidas. El ejemplo más simple de esto es que se elimina una columna a la que se hace referencia en una vista o procedimiento almacenado.

La razón de esto es que un archivo .bacpac también genera los comandos necesarios para replicar el esquema. Si algunos de estos comandos falla (porque hacen referencia a una columna no existente), entonces la restauración entera falla.

Simplemente revise y repare cualquier vista, procedimiento almacenado y/o funciones que se mencionan en el mensaje de error, y reanude la exportación.

Espero que esto sea de ayuda, por favor déjeme sus comentarios y sugerencias en la sección de mensajes abajo. Gracias.

Leave a Reply