Rapportera över utskalade molndatabaser (förhandsversion)
Gäller för:Azure SQL Database
Du kan skapa rapporter från flera databaser från en enda anslutningspunkt med hjälp av en elastisk fråga. Databaserna måste partitioneras vågrätt (kallas även "sharded").
Om du har en befintlig databas kan du läsa Migrera befintliga databaser till utskalade databaser.
Information om vilka SQL-objekt som behövs för att fråga finns i Fråga över vågrätt partitionerade databaser.
Förutsättningar
Ladda ned och kör exemplet Komma igång med Elastic Database-verktyg.
Skapa en shard map manager med exempelappen
Här skapar du en shard map manager tillsammans med flera shards, följt av infogning av data i shards. Om du redan har konfigurerat shards med fragmenterade data i dem kan du hoppa över följande steg och gå vidare till nästa avsnitt.
Skapa och kör exempelprogrammet Komma igång med Elastic Database-verktyg genom att följa stegen i artikeln Ladda ned och kör exempelappen. När du har slutfört alla steg visas följande kommandotolk:
I kommandofönstret skriver du "1" och trycker på Retur. Detta skapar karthanteraren för shard och lägger till två shards på servern. Skriv sedan "3" och tryck på Retur. Upprepa åtgärden fyra gånger. Detta infogar exempeldatarader i dina shards.
Azure-portalen bör visa tre nya databaser på servern:
I det här läget stöds frågor mellan databaser via Elastic Database-klientbiblioteken. Använd till exempel alternativ 4 i kommandofönstret. Resultatet från en fråga med flera fragment är alltid en UNION ALL av resultaten från alla shards.
I nästa avsnitt skapar vi en exempeldatabasslutpunkt som stöder mer omfattande frågor om data mellan shards.
Skapa en elastisk frågedatabas
Öppna Azure-portalen och logga in.
Skapa en ny databas i Azure SQL Database på samma server som partitionskonfigurationen. Ge databasen namnet "ElasticDBQuery".
Kommentar
du kan använda en befintlig databas. Om du kan göra det får det inte vara en av de shards som du vill köra dina frågor på. Den här databasen används för att skapa metadataobjekten för en elastisk databasfråga.
Skapa databasobjekt
Huvudnyckel och autentiseringsuppgifter med databasomfattning
Dessa används för att ansluta till shard map manager och shards:
Öppna SQL Server Management Studio eller SQL Server Data Tools i Visual Studio.
Anslut till ElasticDBQuery-databasen och kör följande T-SQL-kommandon:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master_key_password>'; CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred WITH IDENTITY = '<username>', SECRET = '<password>';
"användarnamn" och "lösenord" bör vara samma som inloggningsinformation som används i steg 3 i avsnittet Ladda ned och kör exempelappen i artikeln Komma igång med Elastic Database-verktyg .
Externa datakällor
Om du vill skapa en extern datakälla kör du följande kommando på ElasticDBQuery-databasen:
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" är namnet på shardkartan, om du har skapat shardkartan och karthanteraren för shard med hjälp av exemplet med elastiska databasverktyg. Men om du använde din anpassade konfiguration för det här exemplet bör det vara det shardmappningsnamn som du valde i ditt program.
Externa tabeller
Skapa en extern tabell som matchar tabellen Kunder på shards genom att köra följande kommando på ElasticDBQuery-databasen:
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])
) ;
Köra en T-SQL-exempelfråga för elastisk databas
När du har definierat din externa datakälla och dina externa tabeller kan du nu använda fullständig T-SQL över dina externa tabeller.
Kör den här frågan på ElasticDBQuery-databasen:
select count(CustomerId) from [dbo].[Customers]
Du kommer att märka att frågan aggregerar resultat från alla shards och ger följande utdata:
Importera elastiska databasfrågeresultat till Excel
Du kan importera resultatet från en fråga till en Excel-fil.
Starta Excel 2013.
Gå till menyfliksområdet Data .
Klicka på Från andra källor och klicka på Från SQL Server.
I guiden Dataanslutning anger du servernamnet och inloggningsuppgifterna. Klicka sedan på Nästa.
I dialogrutan Välj den databas som innehåller de data du vill använda väljer du databasen ElasticDBQuery .
Välj tabellen Kunder i listvyn och klicka på Nästa. Klicka sedan på Slutför.
I formuläret Importera data under Välj hur du vill visa dessa data i arbetsboken väljer du Tabell och klickar på OK.
Alla rader från tabellen Kunder , som lagras i olika shards, fyller i Excel-bladet.
Nu kan du använda Excels kraftfulla datavisualiseringsfunktioner. Du kan använda anslutningssträngen med servernamnet, databasnamnet och autentiseringsuppgifterna för att ansluta dina BI- och dataintegreringsverktyg till den elastiska frågedatabasen. Kontrollera att SQL Server stöds som datakälla för verktyget. Du kan referera till den elastiska frågedatabasen och externa tabeller precis som andra SQL Server-databaser och SQL Server-tabeller som du ansluter till med verktyget.
Kostnad
Det tillkommer ingen extra kostnad för att använda funktionen Elastic Database Query.
Prisinformation finns i Prisinformation för SQL Database.
Nästa steg
- En översikt över elastisk fråga finns i Översikt över elastiska frågor.
- En självstudie om vertikal partitionering finns i Komma igång med frågor mellan databaser (vertikal partitionering).
- Syntax- och exempelfrågor för vertikalt partitionerade data finns i Köra frågor mot vertikalt partitionerade data)
- Syntax- och exempelfrågor för horisontellt partitionerade data finns i Fråga vågrätt partitionerade data)
- Se sp_execute _remote för en lagrad procedur som kör en Transact-SQL-instruktion på en enda fjärransluten Azure SQL Database eller uppsättning databaser som fungerar som shards i ett horisontellt partitioneringsschema.