DocumentDB - SQL Server

Les fichiers JSON sont un ajustement naturel, et ils peuvent simplement pouvoir être importés tels quels dans DocumentDB. Cependant, l'importation à partir d'une base de données relationnelle telle que SQL Server va nécessiter une sorte de transformation, ce qui signifie que nous devons en quelque sorte combler le fossé entre les données normalisées dans SQL Server et leur représentation dénormalisée dans DocumentDB.

Jetons un coup d'œil à un exemple simple dans lequel nous verrons comment l'outil de migration peut importer à partir d'une base de données SQL Server. Dans cet exemple, nous importerons les données de la base de données AdventureWorks 2014. AdventureWorks est un exemple de base de données populaire que vous pouvez télécharger à partir de CodePlex en suivant les étapes suivantes.

Step 1 - Aller à https://www.codeplex.com/

Step 2 - Recherchez AdventureWorks 2014 dans le champ de recherche.

Step 3 - Choisissez la version recommandée pour les exemples de bases de données.

Le téléchargement le plus simple à choisir est celui recommandé, à savoir la sauvegarde complète de la base de données.

Step 4 - Cliquez et enregistrez le fichier zip dans n'importe quel dossier et extrayez le fichier zip qui contient le fichier de sauvegarde de la base de données.

Step 5 - Ouvrez SQL Server Management Studio, connectez-vous à mon instance SQL Server locale et restaurez la sauvegarde.

Step 6- Cliquez avec le bouton droit sur Bases de données → Restaurer la base de données. Cliquez sur le bouton «parcourir».

Vous verrez la fenêtre suivante.

Step 7 - Cliquez sur le bouton «Ajouter».

Step 8- Parcourez le fichier de sauvegarde de la base de données et cliquez sur OK. Puis OK une fois de plus, et la restauration s'arrête.

Nous avons une restauration réussie.

Eh bien, c'est une grande base de données, et il y a certainement beaucoup de tables, alors jetons un coup d'œil aux vues à la place.

Cela semble un peu plus gérable, et la plupart de ces vues fonctionnent en joignant plusieurs tables liées ensemble, alors jetons un coup d'œil à celle-ci appelée vStoreWithAddresses, qui est définie dans le schéma Sales.

Nous sélectionnons dans la vue, qui joint toutes les tables, et nous filtrons sur AddressType, qui ne nous donne que les bureaux principaux.

SELECT 
   CAST(BusinessEntityID AS varchar) AS [id], 
   Name AS [name], 
   AddressType AS [address.addressType], 
   AddressLine1 AS [address.addressLine1], 
   City AS [address.location.city], 
   StateProvinceName AS [address.location.stateProvinceName], 
   PostalCode AS [address.postalCode], 
   CountryRegionName AS [address.countryRegionName] 
FROM 
   Sales.vStoreWithAddresses 
WHERE 
   AddressType='Main Office'

Lorsque la requête ci-dessus est exécutée, vous recevrez la sortie suivante.

Lançons l'outil de migration de version GUI.

Step 1 - Sur la page d'accueil, cliquez sur «Suivant» pour la page Informations sur la source.

Step 2 - Sélectionnez le SQL dans le menu déroulant et spécifiez la chaîne de connexion à la base de données.

Step 3 - Cliquez sur le bouton «Vérifier».

Si vous spécifiez la chaîne de connexion correcte, le message de réussite s'affiche.

Step 4 - Saisissez la requête que vous souhaitez importer.

Step 5 - Cliquez sur «Suivant».

Step 6 - Spécifiez la chaîne de connexion de votre compte DocumentDB qui peut être trouvée à partir du portail Azure.

Step 7 - Spécifiez la chaîne de connexion principale et n'oubliez pas d'ajouter le nom de la base de données à la fin de la chaîne de connexion.

Step 8 - Spécifiez les collections auxquelles vous souhaitez ajouter les fichiers JSON.

Step 9 - Cliquez sur Options avancées et faites défiler la page.

Step 10 - Spécifiez la politique d'indexation, disons la politique d'indexation de plage.

Step 11 - Cliquez sur «Suivant» pour continuer.

Step 12 - Cliquez à nouveau sur «Suivant» pour continuer.

Step 13 - Ici vous pouvez voir le résumé, maintenant cliquez sur le bouton «Importer».

Il commencera à importer des données. Une fois terminé, vous pouvez voir sur le portail Azure.