Condividi tramite


Creare report in database cloud con numero maggiore di istanze (anteprima)

Si applica a:Database SQL di Azure

È possibile creare report da più database da un unico punto di connessione usando una query elastica. Il database deve essere con partizionamento orizzontale.

Se si dispone di un database esistente, vedere Eseguire la migrazione dei database esistenti per scalare le risorse.

Per comprendere gli oggetti SQL necessari per eseguire query, vedere Creazione di report tra database cloud con scalabilità orizzontale (anteprima).

Prerequisiti

Scarica ed esegui Get started with Elastic Database Tools.

Creare un gestore mappe partizione utilizzando l'applicazione di esempio

In questo caso si creerà un gestore mappe partizioni insieme a diverse partizioni, seguito dall'inserimento di dati nelle partizioni. Se si dispone già di partizioni configurate con dati partizionati, è possibile ignorare i passaggi seguenti e passare alla sezione successiva.

  1. Compilare ed eseguire l'applicazione di esempio Introduzione allo strumento di esempio del database elastico seguendo i passaggi descritti nella sezione dell'articolo Scaricare ed eseguire l'app di esempio. Al termine di tutti i passaggi, verrà visualizzato il prompt dei comandi seguente:

    Screenshot del prompt dei comandi dello starter kit di Elastic Database Tools.

  2. Nella finestra di comando digitare 1 e premere INVIO. Viene creato il gestore delle mappe partizioni e aggiunge due partizioni al server. 3 Digitare e premere INVIO. Ripetere l'azione quattro volte. Consente di inserire righe di dati di esempio nelle partizioni.

  3. Il portale di Azure dovrebbe mostrare tre nuovi database nel server:

    Screenshot della conferma di Visual Studio sulla creazione di tre database.

    A questo punto, le query tra database sono supportate tramite le risorse del client del Database elastico. Ad esempio, usare l'opzione 4 nella finestra di comando. I risultati di una query su più frammenti sono sempre un UNION ALL dei risultati di tutti i frammenti.

    Nella sezione successiva, verrà creato un endpoint del database di esempio che supporta l'esecuzione più completa delle query dei dati tra partizioni.

Creare un database di query elastico

  1. Passare al portale di Azure ed eseguire l'accesso.

  2. Creare un nuovo database sul database SQL di Azure nello stesso server mentre si esegue la configurazione del partizionamento. Assegna al database il nome ElasticDBQuery.

    È possibile usare un database esistente. Se è possibile farlo, non deve essere una delle partizioni su cui si desidera eseguire la query. Questo database viene usato per creare gli oggetti metadati per una query di database elastico.

Creare oggetti di database

Chiave master con ambito database e credenziali

Questi vengono utilizzati per la connessione per la gestione di gestore di mappe di partizioni e partizioni:

  1. Apri SQL Server Management Studio e SQL Server Data Tools in Visual Studio

  2. Connettersi al ElasticDBQuery database ed eseguire i comandi T-SQL seguenti:

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master_key_password>';
    
    CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred
    WITH IDENTITY = '<username>',
    SECRET = '<password>';
    

    Sia "username" che "password" devono essere le informazioni di accesso create nei passaggi precedenti.

Origini dati esterne

Per creare un'origine dati esterna, eseguire il comando seguente nel ElasticDBQuery database:

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 è il nome della mappa shard, se hai creato la mappa shard e il gestore mappa shard usando l'esempio degli strumenti di database elastici. Tuttavia, se si utilizza il programma di installazione personalizzato per questo esempio, deve essere il nome di mappa partizionamento che scelto nell'applicazione.

Tabelle esterne

Creare una tabella esterna che corrisponda alla tabella Customers nelle partizioni eseguendo il comando seguente nel ElasticDBQuery database:

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])
) ;

Eseguire una query di esempio elastica database T-SQL

Dopo aver definito l'origine dati esterna e le tabelle esterne, usare T-SQL per eseguire query sulle tabelle esterne.

Eseguire questa query nel database ElasticDBQuery:

select count(CustomerId) from [dbo].[Customers];

Si noterà che la query aggrega i risultati di tutte le partizioni e restituisce l'output seguente:

Dettagli dell'output.

Importare i risultati della query database elastica in Excel

È possibile importare i risultati da di una query a un file di Excel.

  1. Avviare Microsoft Excel.
  2. Individuare il dati della barra multifunzione.
  3. Selezionare Da altre origini e selezionare Da SQL Server.
  4. Nella Connessione guidata dati digitare il nome del server e le credenziali di accesso. Quindi seleziona Avanti.
  5. Nella finestra di dialogo Selezionare il database che contiene i dati desiderati, selezionare il ElasticDBQuery database.
  6. Selezionare la Customers tabella nella visualizzazione elenco e selezionare Avanti. Quindi selezionare Fine.
  7. Nel modulo Importa dati , in Selezionare la modalità di visualizzazione dei dati nella cartella di lavoro selezionare Tabella. Seleziona OK.

Tutte le righe della Customers tabella, archiviate in partizioni diverse popolano il foglio di Excel.

È ora possibile usare le funzioni avanzate di effetto di visualizzazione dei dati di Excel. È possibile usare la stringa di connessione con il nome del server, il nome del database e le credenziali per connettere gli strumenti di business intelligence e di integrazione dei dati al database di query elastico. Assicurarsi che SQL Server sia supportato come origine dati per lo strumento. È possibile fare riferimento al database elastica query e tabelle esterne come qualsiasi altro database di SQL Server e tabelle di SQL Server è necessario connettersi allo strumento.

Costo

Non sono previsti costi aggiuntivi per l'uso della funzionalità Query di database elastico.

Per informazioni sui prezzi, vedere Dettagli prezzi del database SQL.