La stratégie de sauvegarde / restauration la plus rapide pour les bases de données Azure SQL?

Quel est le moyen le plus rapide de sauvegarder / restaurer la database Azure SQL?

L'arrière-plan: Nous avons la database avec une taille ~ 40 Go et la restauration à partir du file .bacbac (~ 4 Go de données compressées) de manière native par Azure SQL Database Import / Export Service prend jusqu'à 6-8 heures. Créer .bacpac est également très long et prend ~ 2 heures.

UPD:

entrez la description de l'image ici

UPD. Création de la database (par la manière transactionnelle cohérente) copy en utilisant CREATE DATABASE [DBBackup] AS COPY OF [DB] prend seulement 15 minutes avec 40 Go de database et la restauration est simple renommer la database.

UPD. Décembre 2014. Permettez-moi de partager avec vous notre expérience sur le moyen le plus rapide de schéma de migration DB que nous avons fini avec.

Tout d'abord, l'approche avec l'application data-tier (.bacpac) s'est avérée non viable pour nous après que la DB est devenue légèrement plus grande et qu'elle ne fonctionnera pas pour vous si vous avez au less un index non cluster avec une taille totale> 2 Go jusqu'à ce que vous désactiviez les index non groupés avant l'export – cela est dû à la limite du journal de transactions Azure SQL.

Nous nous en tenons à l' assistant de migration Azure qui, pour le transfert de données, exécute BCP pour chaque table (les parameters de BCP sont configurables) et il est ~ 20% plus rapide que l'approche avec .bacpac.

Voici quelques pièges que nous avons rencontrés avec l'assistant de migration:

  1. Nous rencontrons des problèmes de encoding pour les strings non-Unicode. Assurez-vous que l'import et l'export BCP s'exécutent avec le même classment. C'est le commutateur de configuration -C ... , vous pouvez find les parameters avec lesquels BCP appelant dans le file .config pour l'application MW.
  2. Tenez count du fait que MW (au less la version actuelle au moment de l'écriture) exécute BCP avec des parameters qui laisseront les contraintes dans un état non sécurisé, donc n'oubliez pas de vérifier toutes les contraintes non approuvées après l'import BCP.

Si votre database est de 40 Go, il est plus que time d'envisager d'avoir un server de database redondant prêt à fonctionner dès que le server principal devient défectueux.

Vous devriez avoir un second server fonctionnant à côté du server de database principal qui n'a pas de routines réelles, sauf de se synchroniser avec le server principal sur une base horaire / quotidienne (selon la fréquence de vos données et le time nécessaire pour exécuter ce process). Vous pouvez également envisager de créer des sauvegardes à partir de ce server de database, au lieu du principal.

Si votre server de database principal tombe en panne – pour une raison quelconque – vous pouvez changer l'adresse hôte de votre application dans la database de sauvegarde et passer les 8 heures à déboguer votre autre server. pendant que vos clients se plaignent.

Cependant, votre database ne devrait pas prendre de 6-8 heures à restaurer à partir de la sauvegarde. Si vous incluez le time de téléchargement / téléchargement dans cette estimation, vous devez envisager de stocker vos données dans le centre de données Azure, ainsi que localement.

Pour plus d'informations, consultez cet article sur Business Continuity sur MSDN: http://msdn.microsoft.com/fr-fr/library/windowsazuree/hh852669.aspx

Vous voudrez regarder spécifiquement la section Copies de database, mais l'article mérite d'être lu en entier si votre database est si grande.

Azure prend désormais en charge la restauration ponctuelle / la restauration géographique et les fonctionnalités de GeoDR. Vous pouvez utiliser la combinaison de ces éléments pour effectuer une sauvegarde / restauration rapide. PiTR et Geo restauration est livré sans frais supplémentaires alors que vous devez payer pour Geo réplique

Il existe plusieurs façons de sauvegarder, restaurer et copyr des tâches sur Azure.

  1. Restauration ponctuelle.

Azure Service prend des sauvegardes complètes, des sauvegardes différentielles multiples et des sauvegardes de journal toutes les 5 minutes.

  1. Geo Restore

Identique à la restauration ponctuelle. La seule différence est qu'il récupère une copy redondante d'un stockage BLOB différent stocké dans une région différente.

  1. Géo-réplication

Identique aux groupes de disponibilité SQL. 4 réplicas Async avec des capacités de lecture. Sélectionnez une région pour devenir une réserve d'urgence.

Plus sur le site de Microsoft ici . Blog ici .

La database SQL Azure contient déjà ces répliques locales auxquelles Liam fait reference. Vous pouvez find plus de détails sur ces trois répliques locales ici http://social.technet.microsoft.com/wiki/contents/articles/1695.inside-windows-azuree-sql-database.aspx#High_Availability_with_SQL_Azure

De plus, SQL Database a récemment introduit de nouveaux niveaux de service incluant une nouvelle restauration à un point dans le time. Tous les détails à http://msdn.microsoft.com/en-us/library/azuree/hh852669.aspx

La key est d'utiliser une bonne stratégie de gestion des données qui consortingbue à résoudre votre objective. Mauvaise architecture et approche pour tout mettre sur le cloud peut s'avérer désastreux … en lire plus – http://archdipesh.blogspot.com/2014/03/windows-azuree-data-strategies-and.html