Créer des rapports sur des bases de données cloud avec montée en charge (version préliminaire)
S’applique à : Azure SQL Database
Vous pouvez créer des rapports tirés de plusieurs bases de données à partir d’un point de connexion unique par le biais d’une requête élastique. Les bases de données doivent être partitionnées horizontalement.
Si vous avez déjà une base de données, consultez Migrer des bases de données existantes vers des bases de données mises à l’échelle.
Pour connaître les objets SQL requis dans le cadre d’une requête, consultez Interroger plusieurs bases de données partitionnées horizontalement.
Prérequis
Téléchargez et exécutez l’exemple de la rubrique Prise en main des outils de base de données élastique.
Créez un gestionnaire des cartes de partitions à l’aide de l’exemple d’application
Ici vous allez créer un gestionnaire des cartes de partitions avec plusieurs partitions, puis insérer des données dans les partitions. Si vos partitions comportent déjà des données partitionnées, vous pouvez ignorer ces étapes et passer à la section suivante.
Générez et exécutez l’exemple d’application Prise en main des outils de base de données élastique en suivant les étapes décrites dans la section de l’article Télécharger et exécuter l’exemple d’application. Une fois toutes les étapes terminées, l’invite de commandes suivante s’affiche :
Dans la fenêtre de commande, entrez « 1 » et appuyez sur Entrée. Cela crée le gestionnaire des cartes de partitions et ajoute deux partitions sur le serveur. Tapez « 3 », puis appuyez sur Entrée. Répétez l’action quatre fois. Cela permet d’insérer des lignes d’exemples de données dans vos partitions.
Le portail Azure doit alors montrer trois nouvelles bases de données dans votre serveur :
À ce stade, les requêtes de bases de données croisées sont prises en charge via les bibliothèques clientes de bases de données élastiques. Par exemple, utilisez l’option 4 dans la fenêtre de commande. Les résultats d’une requête de plusieurs partitions sont toujours un élément UNION ALL des résultats de toutes les partitions.
Dans la section suivante, nous créons un exemple de point de terminaison de base de données qui prend en charge une interrogation plus riche des données entre les partitions.
Créez une base de données de requête élastique
Ouvrez le portail Azure et connectez-vous.
Créez une nouvelle base de données dans Azure SQL Database sur le même serveur que votre configuration de partition. Nommez la base de données « ElasticDBQuery ».
Notes
Vous pouvez utiliser une base de données existante. Si c’est le cas, il ne doit pas s’agir de l’une des partitions sur laquelle vous souhaitez exécuter les requêtes. Cette base de données sera utilisée pour la création d’objets de métadonnées pour une requête de base de données élastique.
Créez des objets de base de données
Clé principale et informations d’identification de la base de données
Celles-ci sont utilisées pour se connecter au gestionnaire des cartes de partition et aux partitions :
Ouvrez SQL Server Management Studio ou SQL Server Data Tools dans Visual Studio.
Connectez-vous à la base de données ElasticDBQuery et exécutez les commandes T-SQL suivantes :
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master_key_password>'; CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred WITH IDENTITY = '<username>', SECRET = '<password>';
Le nom d’utilisateur et le mot de passe doivent être les mêmes que les informations de connexion utilisées à l’étape 3 de la section Télécharger et exécuter l’exemple d’application dans l’article Prise en main des outils de base de données élastique.
Sources de données externes
Pour créer une source de données externe, exécutez la commande suivante sur la base de données ElasticDBQuery :
CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc WITH
(TYPE = SHARD_MAP_MANAGER,
LOCATION = '<server_name>.database.windows.net',
DATABASE_NAME = 'ElasticScaleStarterKit_ShardMapManagerDb',
CREDENTIAL = ElasticDBQueryCred,
SHARD_MAP_NAME = 'CustomerIDShardMap'
) ;
« CustomerIDShardMap » est le nom de la carte de partition, si vous avez créé la carte de partition et le gestionnaire des cartes de partition à l’aide de l’exemple d’outils souples de la base de données. Toutefois, si vous avez utilisé l’installation personnalisée pour cet exemple, le nom de carte de partition doit correspondre au nom choisi dans l’application.
Tables externes
Créez une table externe qui correspond à la table des clients sur les partitions en exécutant la commande suivante sur la base de données ElasticDBQuery :
CREATE EXTERNAL TABLE [dbo].[Customers]
( [CustomerId] [int] NOT NULL,
[Name] [nvarchar](256) NOT NULL,
[RegionId] [int] NOT NULL)
WITH
( DATA_SOURCE = MyElasticDBQueryDataSrc,
DISTRIBUTION = SHARDED([CustomerId])
) ;
Exécutez un exemple de requête T-SQL de base de données élastique
Après avoir défini vos tables externes et votre source de données externe, vous pouvez utiliser l’ensemble T-SQL sur vos tables externes.
Exécutez cette requête sur la base de données ElasticDBQuery :
select count(CustomerId) from [dbo].[Customers]
Vous remarquerez que la requête regroupe les résultats de toutes les partitions et donne le résultat suivant :
Importez les résultats de la requête de base de données élastique dans Excel
Vous pouvez importer les résultats d’une requête vers un fichier Excel.
Lancez Excel 2013.
Accédez au ruban Données .
Cliquez sur À partir d’autres sources et sur À partir de SQL Server.
Dans l’ Assistant de connexion de données saisissez le nom du serveur et les informations de connexion. Cliquez ensuite sur Suivant.
Dans la boîte de dialogue Sélectionner la base de données qui contient les données que vous souhaitez, sélectionnez la base de données ElasticDBQuery.
Sélectionnez la table Clients dans la liste et cliquez sur Suivant. Puis, cliquez sur Terminer.
Dans le formulaire Importer des données, sous Sélectionner le mode d’affichage des données dans votre classeur, sélectionnez Table et cliquez sur OK.
Toutes les lignes de la table Clients , stockées dans des partitions différentes, remplissent la feuille Excel.
Vous pouvez maintenant utiliser les fonctions de visualisation de données puissantes d’Excel. Vous pouvez utiliser la chaîne de connexion avec votre nom de serveur, votre nom de base de données et les informations d’identification pour vous connecter vos outils d’intégration BI et de données dans la base de données de requête élastique. Assurez-vous que SQL Server est pris en charge comme source de données pour votre outil. Vous pouvez vous traiter la base de données de requête élastique et les tables externes comme n’importe quelles bases de données SQL Server et tables SQL Server auxquelles vous vous connectez avec votre outil.
Coût
La fonction de requête de base de données élastique n’entraîne aucuns frais supplémentaires.
Pour plus d’informations sur la tarification, consultez la page Tarification - SQL Database.
Étapes suivantes
- Pour une présentation des requêtes élastiques, consultez Présentation des requêtes élastiques.
- Pour le didacticiel sur le partitionnement vertical, consultez Prise en main des requêtes de bases de données croisées (partitionnement vertical).
- Pour la syntaxe et des exemples de requêtes pour des données partitionnées verticalement, consultez Requêtes sur des données partitionnées verticalement
- Pour la syntaxe et des exemples de requêtes pour des données partitionnées horizontalement, consultez Requêtes sur des données partitionnées horizontalement
- Consultez sp_execute _remote pour une procédure stockée qui exécute une instruction Transact-SQL sur une seule base de données Azure SQL distante ou un ensemble de bases de données servant de partitions dans un schéma de partitionnement horizontal.