Jai un cas dutilisation dans lequel je dois garder une base de données SQL Server sur site synchronisée avec ma base de données Azure SQL.
Est-il possible de configurer la réplication / synchronisation de la base de données Azure SQL vers la base de données sur site?
Commentaires
- La réplication transactionnelle vers Azure SQL Database est désormais généralement disponible (blog Microsoft Azure) est probablement un bon point de départ.
- Merci, jai déjà vu ce lien. Je souhaite une synchronisation entre Azure SQL et la base de données sur site. Le lien que vous avez fourni concerne Azure SQL sur site.
Réponse
La liste darticles suivante pourrait fournir des informations adéquates pour vous permettre de créer un Azure SQL Data Sync :
SQL Data Sync est un service basé sur Azure SQL Database qui vous permet de synchroniser les données que vous sélectionnez de manière bidirectionnelle sur plusieurs bases de données SQL et instances SQL Server.
( Emphasis mine)
Dans ce tutoriel, vous apprenez à configurer Azure SQL Data Sync en créant un groupe de synchronisation hybride qui contient les deux Instances Azure SQL Database et SQL Server . Le nouveau groupe de synchronisation est entièrement configuré et se synchronise selon la planification que vous avez définie.
[…]Ajouter une base de données Azure SQL
Dans la section Base de données des membres, ajoutez éventuellement une base de données SQL Azure au groupe de synchronisation en sélectionnant Ajouter une base de données Azure. La page Configurer la base de données Azure souvre.
Sur la page Configurer la base de données Azure, procédez comme suit:
Dans le champ Nom du membre de synchronisation, indiquez un nom pour le nouveau membre de synchronisation. Ce nom est distinct du nom de la base de données elle-même.
Dans le champ Abonnement, sélectionnez labonnement Azure associé à des fins de facturation.
Dans le champ Azure SQL Server, sélectionnez le serveur de base de données SQL existant.
Dans le champ Azure SQL Database, sélectionnez la base de données SQL existante.
Dans le champ Sync Directions, sélectionnez Bi-directional Sync, To the Hub ou From the Hub.
Dans les champs Nom dutilisateur et Mot de passe , entrez les informations didentification existantes pour le serveur SQL Database sur lequel se trouve la base de données membre. Ne saisissez pas de nouveaux identifiants dans cette section.
Sélectionnez OK et attendez que le nouveau membre de synchronisation soit créé et déployé.
Ajouter une base de données SQL Server sur site
Dans la section Base de données des membres, ajoutez éventuellement un serveur SQL sur site au groupe de synchronisation en sélectionnant Ajouter une base de données sur site. La page Premises souvre.
Sur la page Configure On-Premises, procédez comme suit:
Sélectionnez Choose the Sync Agent Gateway. La page Select Sync Agent souvre .
Sur la page Choisir la passerelle de lagent de synchronisation, choisissez dutiliser un agent existant ou de créer un nouvel agent.
Si vous avez choisi Agents existants, sélectionnez lagent existant dans la liste.
Si vous avez choisi Créer un nouvel agent, procédez comme suit:
a. Téléchargez le logiciel de lagent de synchronisation client à partir du lien fourni et installez-le sur lordinateur où se trouve le serveur SQL.
Important
Vous devez ouvrir le port TCP sortant 1433 dans le pare-feu pour permettre à lagent client de communiquer avec le serveur.
b. Saisissez un nom pour lagent.
c. Sélectionnez Créer et générer une clé.
d. Copiez la clé de lagent dans le presse-papiers.
e. Sélectionnez OK pour fermer la page Sélectionner lagent de synchronisation.
f. Sur lordinateur SQL Server, recherchez et exécutez lapplication Client Sync Agent.
g. Dans lapplication de lagent de synchronisation, sélectionnez Soumettre la clé de lagent. La boîte de dialogue Configuration de la base de données de métadonnées de synchronisation souvre.
h. Dans la boîte de dialogue Configuration de la base de données de métadonnées de synchronisation, collez la clé dagent copiée à partir du portail Azure. Fournissez également les informations didentification existantes pour le serveur Azure SQL Database sur lequel se trouve la base de données de métadonnées. (Si vous avez créé une nouvelle base de données de métadonnées, cette base de données se trouve sur le même serveur que la base de données concentrateur.) Sélectionnez OK et attendez que la configuration se termine.
Remarque Si vous obtenez une erreur de pare-feu à ce stade, vous devez créer une règle de pare-feu sur Azure pour autoriser le trafic entrant depuis lordinateur SQL Server.Vous pouvez créer la règle manuellement dans le portail, mais vous trouverez peut-être plus facile de la créer dans SQL Server Management Studio (SSMS). Dans SSMS, essayez de vous connecter à la base de données du concentrateur sur Azure. Saisissez son nom sous la forme
<hub_database_name>.database.windows.net
. Pour configurer la règle de pare-feu Azure, suivez les étapes de la boîte de dialogue. Revenez ensuite à lapplication Client Sync Agent.
i. Dans lapplication Client Sync Agent, cliquez sur Sinscrire pour enregistrer une base de données SQL Server auprès de lagent. La boîte de dialogue Configuration de SQL Server souvre. j. Dans la boîte de dialogue Configuration de SQL Server, choisissez de vous connecter à laide de lauthentification SQL Server ou de lauthentification Windows. Si vous avez choisi lauthentification SQL Server, entrez les informations didentification existantes. Fournissez le nom SQL Server et le nom de la base de données que vous souhaitez synchroniser. Sélectionnez Tester la connexion pour tester vos paramètres. Sélectionnez ensuite Enregistrer. La base de données enregistrée apparaît dans la liste.
k. Vous pouvez maintenant fermer lapplication Client Sync Agent.
l. Dans le portail, sur la page Configurer sur site, sélectionnez Sélectionner la base de données. La page Sélectionner une base de données souvre.
m. Sur la page Sélectionner une base de données, dans le champ Nom du membre de synchronisation, indiquez un nom pour le nouveau membre de synchronisation. Ce nom est distinct du nom de la base de données elle-même. Sélectionnez la base de données dans la liste. Dans le champ Sync Directions, sélectionnez Bi-directional Sync, To the Hub ou From the Hub.
n. Sélectionnez OK pour fermer la page Sélectionner une base de données. Sélectionnez ensuite OK pour fermer la page Configurer sur site et attendez que le nouveau membre de synchronisation soit créé et déployé. Enfin, cliquez sur OK pour fermer la page Sélectionner les membres de la synchronisation.
Pour vous connecter à SQL Data Sync et à lagent local, ajoutez votre nom dutilisateur au rôle DataSync_Executor. Data Sync crée ce rôle sur linstance SQL Server.
Étape 3 – Configurer le groupe de synchronisation
Une fois les nouveaux membres du groupe de synchronisation créés et déployés, Létape 3, Configurer le groupe de synchronisation, est mise en surbrillance dans la page Nouveau groupe de synchronisation.
-
Sur la page Tables, sélectionnez une base de données dans la liste des membres du groupe de synchronisation, puis sélectionnez Actualiser le schéma .
-
Dans la liste des tables disponibles, sélectionnez les tables que vous souhaitez synchroniser.
-
Par défaut, toutes les colonnes dans le tableau sont sélectionnés. Si vous ne souhaitez pas synchroniser toutes les colonnes, désactivez la case à cocher des colonnes que vous ne souhaitez pas synchroniser. Assurez-vous de laisser la colonne de clé primaire sélectionnée.
-
Enfin, sélectionnez Enregistrer.
SQL Data Sync est un service basé sur Azure SQL Database qui vous permet de synchroniser les données que vous sélectionnez de manière bidirectionnelle sur plusieurs bases de données SQL et instances SQL Server.
Data Sync est basé sur le concept dun groupe de synchronisation. Un groupe de synchronisation est un groupe de bases de données que vous souhaitez synchroniser.
Commentaires
- Juste de manière anecdotique, bien que ces informations soient correctes, jai rencontré un nombre important de problèmes avec Azure Data Sync au point où nous avons dû labandonner comme solution sur notre projet. Cela ne ‘ t pour dire que cela ne fonctionnerait ‘ t pour lOP, juste quil y a des cas où lajout dun tas de déclencheurs à la base de données pour maintenir létat entre 2 serveurs indépendants nest pas ‘ la meilleure solution.