Creare report in database cloud con numero maggiore di istanze (anteprima)Report across scaled-out cloud databases (preview)

È possibile creare report da più database SQL di Azure da un unico punto di connessione usando una query elastica.You can create reports from multiple Azure SQL databases from a single connection point using an elastic query. Il database deve essere con partizionamento orizzontale.The databases must be horizontally partitioned (also known as "sharded").

Se si ha un database esistente, vedere Migrazione dei database esistenti in database con un numero maggiore di istanze.If you have an existing database, see Migrating existing databases to scaled-out databases.

Per comprendere quali sono gli oggetti SQL necessari per eseguire una query, vedere Eseguire query in database con partizionamento orizzontale.To understand the SQL objects needed to query, see Query across horizontally partitioned databases.

PrerequisitiPrerequisites

Scaricare ed eseguire Introduzione allo strumento di esempio del Database elastico.Download and run the Getting started with Elastic Database tools sample.

Creare un gestore mappe partizione utilizzando l'applicazione di esempioCreate a shard map manager using the sample app

Di seguito si creerà un gestore mappe partizione con diverse partizioni, seguita dall'inserimento di dati nelle partizioni.Here you will create a shard map manager along with several shards, followed by insertion of data into the shards. 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.If you happen to already have shards setup with sharded data in them, you can skip the following steps and move to the next section.

  1. Compilare ed eseguire l’applicazione di esempio Introduzione agli strumenti del Database elastico .Build and run the Getting started with Elastic Database tools sample application. Seguire la procedura fino al passaggio 7 nella sezione Scaricare ed eseguire l'app di esempio.Follow the steps until step 7 in the section Download and run the sample app. Alla fine del passaggio 7, verrà visualizzato il seguente prompt dei comandi:At the end of Step 7, you will see the following command prompt:

    Aprire il prompt dei comandi.

  2. Nella finestra di comando, digitare "1" e premere Invio.In the command window, type "1" and press Enter. Viene creato il gestore delle mappe partizioni e aggiunge due partizioni al server.This creates the shard map manager, and adds two shards to the server. Digitare "3" e premere Invio; ripetere l'azione quattro volte.Then type "3" and press Enter; repeat the action four times. Consente di inserire righe di dati di esempio nelle partizioni.This inserts sample data rows in your shards.
  3. Il portale di Azure dovrebbe mostrare tre nuovi database nel server:The Azure portal should show three new databases in your server:

    Conferma di Visual Studio

    A questo punto, le query tra database sono supportate tramite le risorse del client del Database elastico.At this point, cross-database queries are supported through the Elastic Database client libraries. Nella finestra di comando, ad esempio, utilizzare l'opzione 4.For example, use option 4 in the command window. I risultati di una query con più partizioni sono sempre un UNION ALL dei risultati di tutte le partizioni.The results from a multi-shard query are always a UNION ALL of the results from all shards.

    Nella sezione successiva, verrà creato un endpoint del database di esempio che supporta l'esecuzione più completa delle query dei dati tra partizioni.In the next section, we create a sample database endpoint that supports richer querying of the data across shards.

Creare un database di query elasticoCreate an elastic query database

  1. Aprire il portale di Azure ed eseguire l'accesso.Open the Azure portal and log in.
  2. Creare un nuovo database SQL Azure nello stesso server del programma di installazione del partizionamento.Create a new Azure SQL database in the same server as your shard setup. Denominare il database "ElasticDBQuery".Name the database "ElasticDBQuery."

    Portale di Azure e il livello di prezzo

    Nota

    È possibile usare un database esistente.you can use an existing database. Se è possibile farlo, non deve essere una delle partizioni su cui si desidera eseguire la query.If you can do so, it must not be one of the shards that you would like to execute your queries on. Questo database verrà utilizzato per la creazione di oggetti di metadati per una query di database elastico.This database will be used for creating the metadata objects for an elastic database query.

Creare oggetti di databaseCreate database objects

Chiave master con ambito database e credenzialiDatabase-scoped master key and credentials

Questi vengono utilizzati per la connessione per la gestione di gestore di mappe di partizioni e partizioni:These are used to connect to the shard map manager and the shards:

  1. Apri SQL Server Management Studio e SQL Server Data Tools in Visual StudioOpen SQL Server Management Studio or SQL Server Data Tools in Visual Studio.
  2. Connettersi al database ElasticDBQuery ed eseguire i comandi T-SQL seguenti:Connect to ElasticDBQuery database and execute the following T-SQL commands:

     CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<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 6 della sezione Scaricare ed eseguire l'app di esempio in Iniziare a utilizzare gli strumenti di database elastici."username" and "password" should be the same as login information used in step 6 of Download and run the sample app in Getting started with elastic database tools.

DROP EXTERNAL DATA SOURCEExternal data sources

Per creare un'origine dati esterna, eseguire il comando seguente sul database ElasticDBQuery:To create an external data source, execute the following command on the 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 del partizionamento, se è stato creato il mapping della partizione e la gestione di mapping di partizione utilizzando l'esempio di strumenti di database flessibile."CustomerIDShardMap" is the name of the shard map, if you created the shard map and shard map manager using the elastic database tools sample. Tuttavia, se si utilizza il programma di installazione personalizzato per questo esempio, deve essere il nome di mappa partizionamento che scelto nell'applicazione.However, if you used your custom setup for this sample, then it should be the shard map name you chose in your application.

Tabelle esterneExternal tables

Creare una tabella esterna corrispondente della tabella Customers nelle partizioni eseguendo il comando seguente sul database ElasticDBQuery:Create an external table that matches the Customers table on the shards by executing the following command on 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-SQLExecute a sample elastic database T-SQL query

Dopo aver definito l'origine dati esterna e le tabelle esterne è ora possibile utilizzare T-SQL completa tramite le tabelle esterne.Once you have defined your external data source and your external tables you can now use full T-SQL over your external tables.

Eseguire questa query sul database ElasticDBQuery:Execute this query on the ElasticDBQuery database:

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

Si noterà che la query di aggregare i risultati di tutte le partizioni e produce il seguente output:You will notice that the query aggregates results from all the shards and gives the following output:

Dettagli dell'output

Importare i risultati della query database elastica in ExcelImport elastic database query results to Excel

È possibile importare i risultati da di una query a un file di Excel.You can import the results from of a query to an Excel file.

  1. Avviare Excel 2013.Launch Excel 2013.
  2. Individuare il dati della barra multifunzione.Navigate to the Data ribbon.
  3. Fare clic su Da altre origini e quindi su Da SQL Server.Click From Other Sources and click From SQL Server.

    Importazione di Excel da altre origini

  4. In Connessione guidata dati digitare le credenziali di accesso e il nome del server.In the Data Connection Wizard type the server name and login credentials. Quindi fare clic su Next.Then click Next.
  5. Nella finestra di dialogo Selezionare il database contenente i dati desiderati selezionare il database ElasticDBQuery.In the dialog box Select the database that contains the data you want, select the ElasticDBQuery database.
  6. Selezionare la tabella Customers nella visualizzazione elenco e fare clic su Avanti.Select the Customers table in the list view and click Next. Fare clic su Fine.Then click Finish.
  7. Nel modulo Importa dati in Specificare come visualizzare i dati nella cartella di lavoro selezionare Tabella e fare clic su OK.In the Import Data form, under Select how you want to view this data in your workbook, select Table and click OK.

Tutte le righe dalla tabella Clienti , archiviate in diverse partizioni sono riportate nel foglio Excel.All the rows from Customers table, stored in different shards populate the Excel sheet.

È ora possibile utilizzare funzioni di visualizzazione avanzata dei dati di Excel.You can now use Excel’s powerful data visualization functions. È 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.You can use the connection string with your server name, database name and credentials to connect your BI and data integration tools to the elastic query database. Assicurarsi che SQL Server sia supportato come origine dati per lo strumento.Make sure that SQL Server is supported as a data source for your tool. È 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.You can refer to the elastic query database and external tables just like any other SQL Server database and SQL Server tables that you would connect to with your tool.

CostiCost

Non esiste senza alcun costo aggiuntivo per utilizzare la funzione elastica Query del Database.There is no additional charge for using the Elastic Database Query feature.

Per informazioni sui prezzi, vedere Dettagli prezzi del database SQL.For pricing information see SQL Database Pricing Details.

Passaggi successiviNext steps