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.

  1. 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:

    command prompt

  2. 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.

  3. Azure-portalen bör visa tre nya databaser på servern:

    Visual Studio confirmation

    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

  1. Öppna Azure-portalen och logga in.

  2. Skapa en ny databas i Azure SQL Database på samma server som partitionskonfigurationen. Ge databasen namnet "ElasticDBQuery".

    Azure portal and pricing tier

    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:

  1. Öppna SQL Server Management Studio eller SQL Server Data Tools i Visual Studio.

  2. 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 exempelappeni 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:

Output details

Importera elastiska databasfrågeresultat till Excel

Du kan importera resultatet från en fråga till en Excel-fil.

  1. Starta Excel 2013.

  2. Gå till menyfliksområdet Data .

  3. Klicka på Från andra källor och klicka på Från SQL Server.

    Excel import from other sources

  4. I guiden Dataanslutning anger du servernamnet och inloggningsuppgifterna. Klicka sedan på Nästa.

  5. I dialogrutan Välj den databas som innehåller de data du vill använda väljer du databasen ElasticDBQuery .

  6. Välj tabellen Kunder i listvyn och klicka på Nästa. Klicka sedan på Slutför.

  7. 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