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 ha un database esistente, vedere Migrazione dei database esistenti in database con un numero maggiore di istanze.
Per comprendere quali sono gli oggetti SQL necessari per eseguire una query, vedere Eseguire query in database con partizionamento orizzontale.
Prerequisiti
Scaricare ed eseguire Introduzione allo strumento di esempio del Database elastico.
Creare un gestore mappe partizione utilizzando l'applicazione di esempio
Di seguito si creerà un gestore mappe partizione con diverse partizioni, seguita dall'inserimento di dati nelle partizioni. Se si dispone già di programma di installazione di partizioni con dati partizionati in essi, è possibile ignorare i passaggi seguenti e passare alla sezione successiva.
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, apparirà il prompt dei comandi seguente:
Nella finestra di comando, digitare "1" e premere Invio. Viene creato il gestore delle mappe partizioni e aggiunge due partizioni al server. Digitare "3" e premere Invio; ripetere l'azione quattro volte. Consente di inserire righe di dati di esempio nelle partizioni.
Il portale di Azure dovrebbe mostrare tre nuovi database nel server:
A questo punto, le query tra database sono supportate tramite le risorse del client del Database elastico. Nella finestra di comando, ad esempio, utilizzare l'opzione 4. I risultati di una query con più partizioni sono sempre un UNION ALL dei risultati di tutte le partizioni.
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
Aprire il portale di Azure ed eseguire l'accesso.
Creare un nuovo database sul database SQL di Azure nello stesso server mentre si esegue la configurazione del partizionamento. Denominare il database "ElasticDBQuery".
Nota
È possibile usare un database esistente. Se è possibile farlo, non deve essere una delle partizioni su cui si desidera eseguire la query. Questo database verrà utilizzato per la creazione di oggetti di 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:
Apri SQL Server Management Studio e SQL Server Data Tools in Visual Studio
Connettersi al database ElasticDBQuery 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>';
"nome utente" e "password" devono essere uguali alle informazioni di accesso usate nel passaggio 3 della sezione Scaricare ed eseguire l'app di esempio nell’articolo Introduzione allo strumento di database elastico.
Origini dati esterne
Per creare un'origine dati esterna, eseguire il comando seguente sul database 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" è il nome della mappa del partizionamento, se è stato creato il mapping della partizione e la gestione di mapping di partizione utilizzando l'esempio di strumenti di database flessibile. 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 corrispondente della tabella Customers nelle partizioni eseguendo il comando seguente sul database 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])
) ;
Eseguire una query di esempio elastica database T-SQL
Dopo aver definito l'origine dati esterna e le tabelle esterne è ora possibile utilizzare T-SQL completa tramite le tabelle esterne.
Eseguire questa query sul database ElasticDBQuery:
select count(CustomerId) from [dbo].[Customers]
Si noterà che la query di aggregare i risultati di tutte le partizioni e produce il seguente output:
Importare i risultati della query database elastica in Excel
È possibile importare i risultati da di una query a un file di Excel.
Avviare Excel 2013.
Individuare il dati della barra multifunzione.
Fare clic su Da altre origini e quindi su Da SQL Server.
In Connessione guidata dati digitare le credenziali di accesso e il nome del server. Fare clic su Avanti.
Nella finestra di dialogo Selezionare il database contenente i dati desiderati selezionare il database ElasticDBQuery.
Selezionare la tabella Customers nella visualizzazione elenco e fare clic su Avanti. Fare quindi clic su Fine.
Nel modulo Importa dati in Specificare come visualizzare i dati nella cartella di lavoro selezionare Tabella e fare clic su OK.
Tutte le righe dalla tabella Clienti , archiviate in diverse partizioni sono riportate nel foglio Excel.
È ora possibile usare le funzioni avanzate di effetto di visualizzazione dei dati di Excel. È possibile utilizzare la stringa di connessione con il nome del server, nome del database e credenziali per gli strumenti di integrazione di Business Intelligence e i dati di connettersi al database query elastica. 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 esiste senza alcun costo aggiuntivo per utilizzare la funzione elastica Query del Database.
Per informazioni sui prezzi, vedere Dettagli prezzi del database SQL.
Passaggi successivi
- Per un approfondimento, vedere Panoramica delle query elastiche.
- Per un'esercitazione sul partizionamento verticale, vedere Introduzione alle query tra database (partizionamento verticale).
- Per le query di esempio e sintassi per i dati con partizionamento verticale, vedere Eseguire query su dati con partizionamento verticale
- Per le query di esempio e sintassi per i dati con partizionamento orizzontale, vedere Eseguire query su dati con partizionamento orizzontale
- Vedere sp_execute _remote per una stored procedure che esegue un'istruzione Transact-SQL su un singolo database SQL di Azure remoto o un set di database che fungono da partizioni in uno schema di partizionamento orizzontale.