Automatización de Backup de SQL Database Windows Azure

Una actividad frecuente que debemos realizar de nuestras bases de datos en producción es el BackUp. Si bien Windows Azure nos ofrece varias copias de nuestra instancia de SQL las cuales se replican automáticamente, debemos asegurarnos de que si hubiera algún cambio de datos por un error en un proceso o un error humano estas réplicas no tendrán la información anterior y por otro lado no podemos solicitar la visualización de las mismas. Las replicas solo están para asegurar un nivel de servicio.

Por tal motivo es necesario realizar frecuentemente actividades de BackUp. Para no depender de la realización manual de esta actividad y automatizarlo en un proceso, podemos utilizar la siguiente solución de codeplex la cual implementa en un worker role el proceso de BackUp:

http://azureautobackup.codeplex.com/

Él código que realiza la tarea de backup es muy simple, con lo cual si fuera necesario podemos quitarlo de la solución en la que se encuentra e implementarlo en cualquier proceso que nosotros ya tengamos como parte de nuestra arquitectura.

Trazabilidad de sesiones en SQL Database Windows Azure

Cuando un error ocurre en nuestra aplicación es importante contar con toda la información necesaria para determinar la causa y dar una solución al problema.

Con este fin, es importante que podamos contar con la información de errores y logs para el análisis del error.

En SQL Database existe un campo denominado TraceId para conexión que establecemos con la base de datos. Este id es un GUID único para cada una de nuestras conexiones y podemos utilizar el mismo para que el equipo de Soporte de Windows Azure rastree la conexión y de esta forma obtener la información de errores y logs realizados por esa conexión. Por tal motivo, al realizar un log de un error en nuestro sistema donde intervino una operación de base de datos debemos almacenar este identificador.

Para poder obtenerlo basta con ejecutar la siguiente sentencia contra la base de datos, debemos recordar que este identificador es por conexión así que debemos realizarlo en cada una de ellas.

image