Vous ne voulez plus gérer vos problèmes Hardware ? Vous ne voulez plus gérer vos mises à jour de sécurité ? Vous voulez de la haute disponibilité à moindre coût et en gagnant du temps ? Vous êtes dans un environnement sécurisé ? Alors n’hésitez pas à migrer vos bases dans Azure. Accompagné de Nicolas Soukoff (Senior Premier Field Engineer – SQL Server ), nous vous guiderons sur les choix de solution et les étapes de migration : – VM dans Azure / SQL Azure Database – Solution de HA (AlwaysOn) – Comment migrer simplement – Gérer son Disaster Recovery dans Azure. Session présentée lors du SQLSaturday Paris 2014
5. Présentation
Nicolas Soukoff
Senior Premier Field Engineer
Microsoft depuis 2011
Sur SQL Server 6.5 -> 2014
Expertise Infra HA/Securisées/Hybrides
SQLSaturday 323 – Paris 2014
6. Select SUSER_SNAME()
~ depuis 1997
6.5 <= SQL Server <= 2014
christophe_laporte@hotmail.fr
http://conseilit.wordpress.com/
@conseilit
SQLSaturday 323 – Paris 2014
7. Agenda 1/2
Présentation
Offre Azure/IaaS
Avant de migrer
Scenarios de migrations vers IaaS
SQLSaturday 323 – Paris 2014
8. Agenda 2/2
WASD ?
Fonctionnalités
Avant de migrer : checklist
Migration : les outils
Après la migration
SQLSaturday 323 – Paris 2014
10. Offre Azure IaaS
Définition
Détails de l’offre des types de VM
Basic
Standard
Prix :
http://azure.microsoft.com/fr-fr/
pricing/details/virtual-machines/
Prix en fonction de l’utilisation :
http://azure.microsoft.com/en-us/
pricing/calculator/
SQLSaturday 323 – Paris 2014
11. Offre Azure IaaS – Offre Basic
Basic (Nb CPU / RAM) Usage
A0 : Coeur partagé / 768MB VM de Dev ou test
A1 : 1 / 1.5 GB Dev ou test
A2 : 2 / 3.5 GB Dev ou test
A3 : 4 / 7 GB PréProd ou Prod
A4 : 8 / 7 GB PréProd ou Prod
SQLSaturday 323 – Paris 2014
12. Offre Azure IaaS - Standard
Standard (Nb CPU / RAM) Usage
A0 : Coeur partagé / 768MB VM de Dev ou test
A1 : 1 / 1.5 GB Dev ou test
A2 : 2 / 3.5 GB Dev ou test
A3 : 4 / 7 GB PréProd ou Prod
A4 : 8 / 7 GB PréProd ou Prod
A5 : 2 / 14 GB Prod
A6 : 4 / 28 GB Prod
A7 : 8 / 56 GB Prod
A8 : 8 / 56 GB Prod
A9 : 16 / 112 GB Prod !
SQLSaturday 323 – Paris 2014
13. Offre Azure IaaS – SQL Server
http://blogs.technet.com/b/dataplatforminsider/
archive/2014/09/12/new-vm-images-optimized-
for-transactional-and-dw-workloads-
in-azure-vm-gallery.aspx
SQLSaturday 323 – Paris 2014
14. Demo
Création d’une machine virtuelle
SQLSaturday 323 – Paris 2014
15. Avant de Migrer
Vérifier le temps d’indisponibilité possible
pour l’application
Vérifier la compatibilité dans le cas d’une
montée de version
Vérifier le bon dimensionnement de la VM
(CPU/RAM et disques)
Vérifier la connectivité avec les application et
avec le monitoring/admin.
SQLSaturday 323 – Paris 2014
16. Scenarios de migration vers IaaS
Méthode manuelle avec du backup/restore
Avec SQL 2014 : fichiers dans le cloud ou
backup dans le cloud+ restore
Méthode AlwaysOn en montage de
plateforme hybride
SQLSaturday 323 – Paris 2014
17. Backup / Restore
Appliquer les prérequis
Arrêt de l’applicatif
Backup de la base de données local
Copie sur un blob Storage Azure
Restore sur la VM SQL Server
Tutoriel pour SQL Server 2012/2014 :
http://msdn.microsoft.com/en-us/
library/jj720558.aspx
SQLSaturday 323 – Paris 2014
18. SQL Server 2014
Possibilité de faire du backup directement
dans Azure (blob storage)
Possibilité de faire mettre les fichiers de la
base dans des conteneurs Azure
Tutoriel pour SQL Server 2012/2014 :
http://msdn.microsoft.com/en-us/
library/jj720558.aspx
SQLSaturday 323 – Paris 2014
19. SQL Server 2014 (suite)
Dans le cas du backup dans Azure, appliquer
le restore depuis le blob Storage
Dans le cas des fichiers dans Azure :
Détacher les bases depuis le On Premise
Supprimer la connexion avec le container Azure
Attacher le container Azure à la VM Azure
Attacher la base de données.
SQLSaturday 323 – Paris 2014
20. Demo
Backup dans un blob Azure
Fichier de base de données dans Azure
SQLSaturday 323 – Paris 2014
21. AlwaysOn en mode Hybride
Mettre en place une solution de cloud hybride
avec SQL Server 2014 Windows Azure (IaaS)
Secondary Replica
Primary Replica Secondary Replica
SQLSaturday 323 – Paris 2014
Synchronous
Asynchronous
DC
On Premise
Site to Site VPN
25. Windows Azure SQL Databases ?
Pas exactement SQL Server
Pas d’agent SQL Server, pas de login Windows
Mais
Rapidité de mise en oeuvre
Effort de maintenance réduits
Tarifs compétitifs modulables en fonction des
capacités
HA incluse
DR et géo-redondance
SQLSaturday 323 – Paris 2014
26. Annonce du 10 Septembre 2014
SLA : 99.9% -> 99.99%
Restauration : sauvegardes disponibles 35 jours
Géo-réplication
Tailles des bases : 150 GB -> 500 GB
Instances S0 : transition de basic vers standard
Nouvelle tarification pour instances standard et
premium
Tarification à l’heure
SQLSaturday 323 – Paris 2014
27. Service tier and Performance model
Service Tier/Performance
Level
DTU
MAX DB
Size
Max Worker
Threads
SQLSaturday 323 – Paris 2014
Max
Sessions
Benchmark Transaction Rate Predictability
Web and Business Retired in April 2015
Basic 5 2 GB 20 100 17,805 transactions per hour Good
Standard/S1 20 250 GB 50 200 782 transactions per minute Better
Standard/S2 50 250 GB 100 500 2,954 transactions per minute Better
Premium/P1 100 500 GB 200 2 000 98 transactions per second Best
Premium/P2 200 500 GB 400 4 000 192 transactions per second Best
Premium/P3 800 500 GB 1 600 16 000 730 transactions per second Best
DTU
Combinaison CPU, memory, physical reads, et transaction log writes
Pricing
http://azure.microsoft.com/en-us/pricing/details/sql-database/
28. Service tier et HA / DR
http://msdn.microsoft.com/en-us/
library/azure/dn741340.aspx
Continuité d’activité
Sauvegardes
Restauration à un point dans le temps
Sauvegardes Geo-repliquées
Geo-replication
Geo-replication standard (1 replica, activation
manuelle)
Geo-replication active (4 replicas, activation
automatique)
SQLSaturday 323 – Paris 2014
29. Non supporté
Placement et taille des fichiers de données
Gestion des groupes de fichiers
Mise en miroir
Requêtes distribuées
Transactions distribuées
Tables temporaires globales (##)
Configuration niveau instance
SQL Server Service Broker
Tables système
Trace Flags
Common Language Runtime (CLR)
USE DATABASE (excepté pour la fédération)
Utilisation de « On Primary » (Filegroups)
Pas de tables stockées en tas
SQLSaturday 323 – Paris 2014
Propriétés étendues des objets
Not For Replication
Index options (WITH)
Connexions Windows
Certaines fonctionnalités XML
Chiffrement des procédures stockées
Types de données utilisateurs
SQL Profiler
Mail
Filestream / file tables
Resource Governor
Serveurs liés
Compression de données
Change Data Capture
30. Supporté
Contraintes
Cursors
Types de donnés
spatiaux (CLR)
index spatiaux
Gestion des index
Tables temporaires
locales (#)
Mots réservés
Procédures stockées
Gestion des statistiques
SQLSaturday 323 – Paris 2014
Transactions
Triggers
Variables de type table
Ordres Transact-SQL :
Create/drop databases
Create/alter/drop tables
Create/alter/drop users et
logins
Fonctions
Vues
Niveau d’isolation RCSI
et SI (activés)
31. Avant la migration : checklist application &
DB
Logique de Retry :
Try / Catch
Perte de connexion
Gestion de cache, utilisation de batches pour
diminuer les aller-retours et la latence
Supprimer les éléments non supportés
Classement SQL_LATIN1_GENERAL_CP1_CI_AS
Héritage que l’on peu outrepasser sur create table et / ou
colonne
Optimisation des requêtes
SQL Azure « force » l’adoption de bonnes pratiques en
développement
SQLSaturday 323 – Paris 2014
32. Migration
Scénario dépend de la complexité/volumétrie de la base
Les outils également
SSMA
Oracle, Sybase, MySQL, Access
SQL Database Migration Wizard
Projet CodePlex
SQL Server Management Studio
Assistant d’import / export
Assistant de déploiement de base de données vers WASD
SSIS : le plus puissant pour des scénarii complexes
Désactivation / Création différées des index non cluster
Désactivation des contraintes et des triggers
Compression des données et recopie sur un compte de stockage Azure
Extraire les données depuis le compte de stockage vers SQL Azure
Evaluer la possibilité de passer par une VM sur Windows Azure
SQLSaturday 323 – Paris 2014
33. Récapitulatif
Outil Test
comptabilité
Schéma Données Efficacité transfert
de données
SQLSaturday 323 – Paris 2014
Remarques
SQL Database
Migration Wizard
Oui Oui Oui Bon Non supporté
Outil open source
SQL Server Data Tools Oui Oui Non N/A Support complet d’Azure
Gère des changements de schéma complexes
DAC Package Oui Oui Non N/A Support complet d’Azure
Contient les objets mais pas de données
DAC BACPAC Import
Export
Oui Oui Oui Moyen DAC schéma + Data
Generate Script Wizard Partiel Oui Oui Mauvais Option explicite pour Azure SQL Databases
Valable pour petites bases
BCP N/A Non Oui Bon Efficace pour des tables existantes / tables volumineuses
SQL Server Integration
Services
N/A Non Oui Bon Flexible
SQL Server Import and
Export Wizard
N/A Non Oui Bon Simple IHM de SSIS
SSMS Deploy
Database to WASD
Oui Oui Oui Moyen Basé sur BACPAC
Totalement intégré à SSMS
34. Démo
Export Script SQL (schéma seulement)
BasePerformance
Création de la base dans le portail Azure
Exécution des scripts depuis SSMS ou le portail de gestion
Export Data-Tier Application
Base AdventureWorks
Base DemoWASD
Copie dans un conteneur Azure
Import du BACPAC
Assistant de déploiement d’une base de données vers
WASD
Base DemoWASD
Assistant SQL Database Migration
AdventureWorksLTAzure
SQLSaturday 323 – Paris 2014
35. Après la migration
Règles sur le firewall du serveur
Performance
Gestion des index et statistiques
Microsoft Azure worker role
Archivage ?
Sauvegardes ?
CREATE DATABASE […] AS COPY OF […]
Export planifié
Monitoring
DMVs, Portal
Gestion du Throttling
http://msdn.microsoft.com/en-us/library/azure/dn338083.aspx
SQLSaturday 323 – Paris 2014
La différence entre A7 et A8 :
A7 : Max 2TB de disque
A8 : Max 4TB de disque
A9 : Max 6TB de disque
Pour ces versions, tout dépend de l’offre de la VM SQL que l’on choisit
Geo-Replication has two options:
Standard Geo-Replication is available on both Standard and Premium service tiers. You can create a single offline secondary of your database in a different region than your primary. The target and the source region are fixed pairs, and so the secondary is created in a predetermined region based on the location of the primary database. The offline secondary is offline and does not accept client connections. In the event of a datacenter failure or prolonged database unavailability, you will receive a notification and then the option to access and activate the offline secondary becomes available. The offline secondary is created with the same service tier and performance level as the primary database, but the charges vary. For pricing details, see SQL Database Pricing Details.
Active Geo-Replication is available for the Premium service tier only. You can set as many as four replicas, one of which can be an offline secondary, in any region you choose. If the primary replica fails, you terminate the continuous copy relationship from a secondary replica. The original secondary replica now becomes the new primary replica. You can then re-configure your application to connect to the new primary replica. For more information, see Active Geo-Replication for Azure SQL Database.