palais des congrès Paris
7, 8 et 9 février 2012
Vous êtes dans la salle 351
7 février 2012Jean-Yves DevantProgram Manager SQL Réplication, CDC, CTMicrosoft [email protected]
Comment combiner les Availability Groups de AlwaysOn avec la Réplication dans SQL Server 2012 ?
Objectifs et points clés
• Objectifs de la session: – Scénarios: positionnement Réplication/AlwaysOn– Combinaison Réplication/AlwaysOn : ce qui est supporté– Comprendre comment la Réplication supporte AlwaysOn– Planifier la protection du Distributeur
• Points clés a retenir:– L’Editeur et l’abonné sont supportés
• Bascule/failover automatique pour l’Editeur• Bascule/failover manuel pour l’abonne
– Le Distributeur n’est pas supporté
Agenda
AlwaysOn et la RéplicationQu’est ce qui est supporté?Configuration de l’EditeurProtection du DistributeurRécupération de l’Abonné
Démos
Réplication et AlwaysOn
• Qu’est ce que AlwaysOn– La nouvelle solution de haute disponibilité et de récupération
après sinistre de SQL Server 2012– Fournit
• Protection des instances: Failover Cluster Instances– Serveur primaire/secondaires– Chaque nœud a une copie des données
• Protection des bases de données: Availability Groups (AG)– Unité de bascule/failover– Les bases de données font partie d’un AG
– Mouvement physique de données: propage des blocs du journal de transactions
• La Réplication logique est toujours très pertinente pour de nombreux scénarios
Réplication logiqueTechnologies
• Réplication Snapshot • Réplication Transactionnelle
• Et son extension Peer to Peer • Réplication de Fusion
• Y compris vers des abonnés de type SQL Server Compact
• Change Data Capture (CDC)• SQL Change Tracking (CT)
Caractéristique principale = flexibilité• Sous ensemble/Subsetting:
• Expose tous les objets• Expose un sous-ensemble
des objets/données• Type de changements:
• transactions• change data • Tous les changements vs.
changements nets• Supporte schéma différent sur
la destination• Par ex: différents index
pour du reporting
Read/write Scale Out Branch Office/Mobilité/Connecté occasionnellement
Mise à jour/ Migration Topologie hétérogène
Change Tracking pour applications Application distribuées
Scénarios pour la Réplication logique
Description:• Copie locale des données et des
applications a plusieurs endroits• Données en local = latence réduite• Zone géographique différente ou
identique
Description:• L’application cliente a une copie des données en local• Les postes clients peuvent fonctionner même
déconnectés• Latence / autonomie• Les changements serveur/client sont fusionnés• Données sur le client sont souvent filtrées• Modification des données en succursale/bureau local,
partage des données avec le siège
Description:• Très grosse application dont les
données/fonctionnalités sont distribuées sur plusieurs serveurs
• Utile pour la géo localité des données• Pas de hiérarchie entre les nœuds
Description:• Migration d’un SGBD non SQL Server vers SQL Server• Mise a jour active/active• 2 activités principales
• Transfer initial (schéma + données)• Delta (modifications de données)
• 2 modes• One off: transfert et arrêt plateforme• Actif/actif: les 2 systèmes continuent de vivre en
parallèle• Variation = durée entre le transfert et l’arrêt
Description:• Echange de données entre sources hétérogènes• Envoi: de SQL Server vers Oracle, DB2: réplication
transactionnelle (abonnement hétérogène)• Réception, de Oracle vers SQL Server – réplication
transactionnelle (Oracle publishing)
Description:• Application spécifiques ont besoin de
connaître les changements• Les changements sont alors
traités/transportés/rejoués selon les besoins applicatifs.
Pour les scénarios de haute disponibilité et de reprise après incident, utiliser AlwaysOn
Déprécié
A partir de
SQL Server 2012
Réplication et AlwaysOn
• AlwaysOn• Grande plus-value pour les applications qui ne
dépendent pas des attributs de l’instance qui les héberge.
• Ce n’est pas le cas de la Réplication– Une base qui publie nécessite un SQL Server éditeur– Une base publiée est liée à une instance spécifique,
le distributeur• Défit pour la réplication sur AlwaysOn:– Honorer ces dépendances durant une bascule
Agenda
AlwaysOn et la Réplication
Qu’est ce qui est supporté?Configuration de l’EditeurProtection du DistributeurRécupération de l’Abonné
Démos
Réplication et AlwaysOn• Ce qui est supporté/non supporté:– Rôles serveur• Editeur = oui• Distributeur = non, nécessite donc un distributeur distant• Abonné = oui
– Types de réplication• Transactionnelle = oui
– Peer to peer, bidirectionnelle = non– Queued/immediate updating subscriber = non
• Fusion = oui• Snapshot = oui• re-publishing = non
– Serveur secondaire de AlwaysOn ne peut être un éditeur
Agenda
AlwaysOn et la RéplicationQu’est ce qui est supporté?
Configuration de l’EditeurProtection du DistributeurRécupération de l’Abonné
Démos
Réplication et AlwaysOn• Bascule de l’éditeur• Changements requis– Utiliser le nouveau gestionnaire de connexion de SQL Server
2012• Rediriger automatiquement les connexions du primaire vers le
secondaire• Virtual Network Name (VNN)• Nouvelle table de métadata dans la base de Distribution et nouvelle
procédure stockée– MSredirect_publisher
» Utilisée par les agents de Réplication– Sp_redirect_publisher
» @original_publisher» @published_db» @redirected_publisher (-> VNN/Listener)
– Préserver le nom de l’éditeur primaire
Réplication et AlwaysOn• Comportement du logreader– Enregistrements du journal de transactions ne
doivent être récupérés par le log reader qu’après après avoir été inscrits sur le secondaire
– Permet de s‘assurer que les abonnés ne sont pas en avance sur le secondaire
Réplication et AlwaysOn
AlwaysOn Availability Group
Editeur Primaire
Editeur Secondaire
Activité utilisateur
Distributeur
Agents de Réplication
Abonnés
• Configuration éditeur– L’idée…– Procédure résumée
1. Configurer un Distributeur distant2. Préparer la Réplication sur tous les
nœuds qui pourraient devenir un nœud primaire
3. Créer un AG• Ajouter la base publiée• Ajouter les serveurs: primaire et
secondaires• Créer un VNN/Listener
4. Exécuter sp_redirect_publisher • set @redirected_publisher =
VNN/Listener
DEMO
• Configuration de l’éditeur
• Bascule/failover de l’AG de l‘éditeur
AG Abonné
AG Editeur
Démo: topologie de Réplication
SRV2Refresh SRV3RefreshEditeur
Distributeur
SRV4Refresh SRV5RefreshAbonné
(primaire) (secondaire)
(primaire) (secondaire)
SRV8Refresh\Distributor
Agenda
AlwaysOn et la RéplicationQu’est ce qui est supporté?Configuration de l’Editeur
Protection du DistributeurRécupération de l’Abonné
Démos
Le Distributeur
• Distribution DB non supportée dans un AG• Comment le protéger?– Reprise locale après incident
• Windows clustering, SQL Server Failover Clustering– Reprise sur site distant après incident
• Failover Cluster Instance multi sites – Windows 2008 R2
• Avantages – Fournis la capacité de reprise après incident entre data centers
• Prérequis – Data centers doivent être dans le même domaine– 2 SANs et lien de synchro haut débit et dédié– Logiciels de réplication SAN et storage failover du fournisseur de
matériel
• On reconnait que c’est un manque
Agenda
AlwaysOn et la Réplication
Qu’est ce qui est supporté?Configuration de l’EditeurProtection du Distributeur
Récuperation de l’Abonné
Démos
Réplication et AlwaysOn
• Quid de la bascule de l’Abonné?– Ajouter une base abonnée dans un AG est supporté• Bascule manuelle seulement• Différent de l’expérience avec l’éditeur pour le moment
– Après la bascule• Pull agent
– N’existe plus puisque le job est lié a la base MSDB de l’abonné d’origine qui n’existe plus
• Push agent échoue– Ne peut plus se connecter a la base abonnée d’origine sur
l’abonné d’origine
– Dans ce contexte, comment récupérer l’Abonné?
Réplication et AlwaysOn• Comment reprendre un agent de réplication de
fusion après le failover de l’AG Abonné?– Expérience limitée– Supprimer l’ancien abonnement du nouveau primaire• Sp_subscription_cleanup
– Recréer l’abonnement• Appliquer un snapshot vs/ abonné a déjà schéma/données• Changements faits sur l’abonné entre la bascule et la
recréation de l’abonnement ne sont pas répliqués• Mettons les choses en perspective
– Principal scénario de réplication de fusion = utilisateurs déconnectés (desktops, laptops, handset devices)
– Pas une cible pour AlwaysOn
Réplication et AlwaysOn• Comment reprendre un agent de
distribution après le failover de l’AG Abonné?1. Récupérer le LSN de la dernière
transaction reçue par l’abonné secondaire• Select transaction_timestamp from
Msreplication_subscriptions2. Supprimer l’ancien abonnement
de la nouvelle base abonnée• Sp_subscription_cleanup
3. Créer le nouvel abonnement• @sync_type = ‘initialize from LSN’• @subscriptionlsn = LSN
DistributeurAgents de
Réplication
AlwaysOn Availability Group
Abonné Primaire
Abonné Secondaire
Editeur
Pas de snapshot Pas de restoration
Pas de perte de données
DEMO
• Configuration de l’Abonné
• Bascule/failover de l’AG de l’Abonné
En résumé
• Objectifs de la session: – Scénarios: positionnement Réplication/AlwaysOn– Combinaison Réplication/AlwaysOn : ce qui est supporté– Comprendre comment la Réplication supporte AlwaysOn– Planifier la protection du Distributeur
• Points clés a retenir:– L’Editeur et l’Abonné sont supportés
• Bascule/failover automatique pour l’Editeur• Bascule/failover manuel pour l’Abonné
– Le Distributeur n’est pas supporté
Contenu connexe• Sessions
– Always On - Les solutions de haute disponibilité avec SQL Server 2012 (DAT302)
Mardi 7 Février|13h00-14h00– Vue d'ensemble de SQL Server 2012 (DAT201)
Mercredi 8 Février|11h00-12h00 – Les Experts SQL Server (DAT202)
Mardi 7 Février|17h30-18h30
• Livre blanc – SQL Server 2012 Multisite Failover Cluster Instance Enhancements
• http://download.microsoft.com/download/D/2/0/D20E1C5F-72EA-4505-9F26-FEF9550EFD44/SQLServer2012_MultisiteFailoverCluster%20(2).docx
Pour aller plus loin…
Venez nous voir sur le stand SQL Server Retrouvez les experts Microsoft et MVP Assistez à des présentations des offres de nos
partenaires
Inscrivez-vous au « Virtual Launch Event » du 8 mars : http://aka.ms/vlefrance
Visitez notre nouveau site : http://www.microsoft.fr/sql
Evaluez dès aujourd’hui SQL Server 2012 En téléchargeant la RC0 : http://aka.ms/sql2012 En suivant nos « Virtual Labs » : http://aka.ms/sqllabs
MICROSOFT CONFIDENTIAL – INTERNAL ONLY
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.