Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 för att skala ut.
Information om vilka SQL-objekt som behövs för att fråga finns i Rapportering över utskalade molndatabaser (förhandsversion).
Förutsättningar
Ladda ned och kör Kom igång med Elastic Database Tools.
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 shards konfigurerade 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:
Skriv och tryck på
1i kommandofönstret. Detta skapar karthanteraren för shard och lägger till två shards på servern. Skriv3sedan och tryck på Retur. Upprepa åtgärden fyra gånger. Detta infogar exempeldatarader i dina datasegment.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 alternativet
4i kommandofönstret. Resultatet från en fråga med flera fragment är alltid ettUNION ALLav resultaten från alla delar.I nästa avsnitt skapar vi en exempeldatabasslutpunkt som stöder mer omfattande frågor om data mellan shards.
Skapa en elastisk frågedatabas
Skapa en ny databas i Azure SQL Database på samma server som partitionskonfigurationen. Ge databasen namnet
ElasticDBQuery.Du kan använda en befintlig databas. Om du kan göra det får det inte vara ett av de fragment som du vill köra dina frågor på. Den här databasen används för att skapa metadataobjekt för en elastisk databasfråga.
Skapa databasobjekt
Databasspecifik huvudnyckel och autentiseringsuppgifter
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
ElasticDBQuerydatabasen 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>';Både "användarnamn" och "lösenord" ska vara inloggningsinformationen som du skapade i föregående steg.
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 namn på shardkartan 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 använder du T-SQL för att fråga 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 Microsoft Excel.
- Gå till menyfliksområdet Data .
- Välj Från andra källor och välj Från SQL Server.
- I guiden Dataanslutning skriver du servernamnet och inloggningsuppgifterna. Välj sedan Nästa.
- I dialogrutan Välj den databas som innehåller önskade data, väljer du
ElasticDBQuerydatabasen. - Välj tabellen
Customersi listvyn och välj Nästa. Välj sedan Slutför. - I formuläret Importera data går du till Välj hur du vill visa dessa data i arbetsboken och väljer Tabell. Välj OK.
Alla rader från Customers tabellen, 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.