28
palais des congrès Paris 7, 8 et 9 février 2012

Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

Embed Size (px)

DESCRIPTION

Dans cette session, présentée en Français par le chef produit de l'équipe de développement de SQL Server, nous expliquerons comment on peut combiner la Réplication avec les Availability Groups de AlwaysOn. Apres avoir rappelés les attributs et les capacités de ces deux technologies nous expliquerons ce qui est supporté et ce qui n’est pas supporté lorsque l’on souhaite les combiner. Enfin, après avoir présenté les changements internes des mécanismes de la Réplication et des metadata qui permettent cette combinaison, nous en démontrerons la mise en œuvre : configuration, reprise après failover/bascule…

Citation preview

Page 1: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

palais des congrès Paris

7, 8 et 9 février 2012

Page 2: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

Vous êtes dans la salle 351

Page 3: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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 ?

Page 4: Comment combiner les AlwaysOn Availability Groups 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é

Page 5: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

Agenda

AlwaysOn et la RéplicationQu’est ce qui est supporté?Configuration de l’EditeurProtection du DistributeurRécupération de l’Abonné

Démos

Page 6: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 7: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 8: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 9: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans 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

Page 10: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 11: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 12: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

Agenda

AlwaysOn et la RéplicationQu’est ce qui est supporté?

Configuration de l’EditeurProtection du DistributeurRécupération de l’Abonné

Démos

Page 13: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 14: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 15: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 16: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

DEMO

• Configuration de l’éditeur

• Bascule/failover de l’AG de l‘éditeur

Page 17: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

AG Abonné

AG Editeur

Démo: topologie de Réplication

SRV2Refresh SRV3RefreshEditeur

Distributeur

SRV4Refresh SRV5RefreshAbonné

(primaire) (secondaire)

(primaire) (secondaire)

SRV8Refresh\Distributor

Page 18: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 19: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 20: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 21: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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é?

Page 22: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 23: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 24: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

DEMO

• Configuration de l’Abonné

• Bascule/failover de l’AG de l’Abonné

Page 25: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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é

Page 26: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 27: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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

Page 28: Comment combiner les AlwaysOn Availability Groups avec la Réplication dans SQL Server 2012 ?

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.