Erstellen von Berichten für horizontal hochskalierte ClouddatenbankenReport across scaled-out cloud databases (preview)

Sie können mit einer elastischen AbfrageBerichte aus mehreren Azure SQL-Datenbanken über nur einen Verbindungspunkt erstellen.You can create reports from multiple Azure SQL databases from a single connection point using an elastic query. Die Datenbanken müssen horizontal partitioniert werden (auch als „Sharding“ bezeichnet).The databases must be horizontally partitioned (also known as "sharded").

Wenn Sie über eine vorhandene Datenbank verfügen, finden Sie entsprechende Informationen unter Migrieren von vorhandenen Datenbanken zu horizontaler Hochskalierung.If you have an existing database, see Migrating existing databases to scaled-out databases.

Informationen zu den für Abfragen benötigten SQL-Objekten finden Sie unter Ausführen von Abfragen über horizontal partitionierte Clouddatenbanken (Sharddatenbanken) hinweg.To understand the SQL objects needed to query, see Query across horizontally partitioned databases.

VoraussetzungenPrerequisites

Laden Sie das Beispiel Erste Schritte mit den Tools für die elastische Datenbankherunter, und führen Sie es aus.Download and run the Getting started with Elastic Database tools sample.

Erstellen eines Shardzuordnungs-Managers mithilfe der Beispiel-AppCreate a shard map manager using the sample app

Hier erstellen Sie einen Shardzuordnungs-Manager und mehrere Shards und fügen anschließend Daten in die Shards ein.Here you will create a shard map manager along with several shards, followed by insertion of data into the shards. Wenn Sie bereits über Shards verfügen, die Shardingdaten enthalten, können Sie die folgenden Schritte überspringen und zum nächsten Abschnitt wechseln.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. Erstellen Sie die Beispielanwendung aus Erste Schritte mit den Tools für die elastische Datenbank , und führen Sie sie aus.Build and run the Getting started with Elastic Database tools sample application. Führen Sie die Schritte bis Schritt 7 im Abschnitt Herunterladen und Ausführen der Beispiel-App aus.Follow the steps until step 7 in the section Download and run the sample app. Am Ende von Schritt 7 wird die folgende Eingabeaufforderung angezeigt:At the end of Step 7, you will see the following command prompt:

    Eingabeaufforderung

  2. Geben Sie im Befehlsfenster „1“ ein, und drücken Sie die EINGABETASTE.In the command window, type "1" and press Enter. Dadurch wird der Shardzuordnungs-Manager erstellt, und es werden zwei Shards zum Server hinzugefügt.This creates the shard map manager, and adds two shards to the server. Geben Sie dann „3“ ein, und drücken Sie die EINGABETASTE. Wiederholen Sie den Vorgang viermal.Then type "3" and press Enter; repeat the action four times. Dadurch werden Beispieldatenzeilen in die Shards eingefügt.This inserts sample data rows in your shards.

  3. Im Azure-Portal sollten drei neue Datenbanken auf dem Server angezeigt werden:The Azure portal should show three new databases in your server:

    Visual Studio-Bestätigung

    Zum diesem Zeitpunkt werden datenbankübergreifende Abfragen durch die Clientbibliotheken für elastische Datenbanken unterstützt.At this point, cross-database queries are supported through the Elastic Database client libraries. Verwenden Sie z. B. Option 4 im Eingabeaufforderungsfenster.For example, use option 4 in the command window. Die Ergebnisse einer Abfrage mit mehreren Shards sind immer ein UNION ALL der Ergebnisse aus allen Shards.The results from a multi-shard query are always a UNION ALL of the results from all shards.

    Im nächsten Abschnitt erstellen wir einen Endpunkt für eine Beispieldatenbank, der umfangreichere Abfragen der Daten über Shards hinweg unterstützt.In the next section, we create a sample database endpoint that supports richer querying of the data across shards.

Erstellen einer elastischen DatenbankabfrageCreate an elastic query database

  1. Öffnen Sie das Azure-Portal, und melden Sie sich an.Open the Azure portal and log in.

  2. Erstellen Sie eine neue Azure SQL-Datenbank auf demselben Server, auf dem sich auch das Shard-Setup befindet.Create a new Azure SQL database in the same server as your shard setup. Nennen Sie die Datenbank "ElasticDBQuery".Name the database "ElasticDBQuery."

    Azure-Portal und -Tarif

    Hinweis

    Sie können eine vorhandene Datenbank verwenden.you can use an existing database. Wenn Sie diese Konfiguration wählen, darf es sich bei dem Shard nicht um einen der Shards handeln, für die Sie die Abfragen ausführen möchten.If you can do so, it must not be one of the shards that you would like to execute your queries on. Diese Datenbank wird zum Erstellen der Metadatenobjekte für eine Abfrage für elastische Datenbanken verwendet.This database will be used for creating the metadata objects for an elastic database query.

Erstellen von DatenbankobjektenCreate database objects

Erstellen des Datenbankhauptschlüssels und der AnmeldeinformationenDatabase-scoped master key and credentials

Diese Informationen werden für die Verbindung mit dem Shard-Zuordnungs-Manager und den Shards verwendet:These are used to connect to the shard map manager and the shards:

  1. Öffnen Sie SQL Server Management Studio oder SQL Server Data Tools in Visual Studio.Open SQL Server Management Studio or SQL Server Data Tools in Visual Studio.

  2. Stellen Sie eine Verbindung mit der ElasticDBQuery-Datenbank her, und führen Sie die folgenden T-SQL-Befehle aus: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>';
    

    „username“ und „password“ müssen mit den Anmeldeinformationen aus Schritt 6 unter Herunterladen und Ausführen der Beispiel-App in Erste Schritte mit den Tools für elastische Datenbanken übereinstimmen."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.

Externe DatenquellenExternal data sources

Um eine externe Datenquelle zu erstellen, führen Sie den folgenden Befehl für die ElasticDBQuery-Datenbank aus: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" ist der Name der Shard-Zuordnung, wenn Sie die Shard-Zuordnung und den Shard-Zuordnungs-Manager mithilfe des Beispiels für die Tools für elastische Datenbanken erstellt haben."CustomerIDShardMap" is the name of the shard map, if you created the shard map and shard map manager using the elastic database tools sample. Wenn Sie jedoch Ihre benutzerdefinierte Konfiguration für dieses Beispiel verwendet haben, sollte dies der Name Shard-Zuordnung sein, den Sie in der Anwendung ausgewählt haben.However, if you used your custom setup for this sample, then it should be the shard map name you chose in your application.

Externe TabellenExternal tables

Erstellen Sie eine externe Tabelle, die mit der Customers-Tabelle in den Shards übereinstimmt, indem Sie den folgenden Befehl für die ElasticDBQuery-Datenbank ausführen: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])
) ;

Ausführen einer T-SQL-Abfrage für eine elastische BeispieldatenbankExecute a sample elastic database T-SQL query

Nachdem Sie die externe Datenquelle und die externen Tabellen definiert haben, können Sie jetzt vollständiges T-SQL in den externen Tabellen verwenden.Once you have defined your external data source and your external tables you can now use full T-SQL over your external tables.

Führen Sie die folgende Abfrage für die ElasticDBQuery-Datenbank aus:Execute this query on the ElasticDBQuery database:

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

Sie werden feststellen, dass die Abfrage Ergebnisse aus allen Shards aggregiert und die folgende Ausgabe ausgibt:You will notice that the query aggregates results from all the shards and gives the following output:

Ausgabedetails

Importieren der Ergebnisse der Abfrage für die elastische Datenbank in ExcelImport elastic database query results to Excel

Sie können die Ergebnisse einer Abfrage in eine Excel-Datei importieren.You can import the results from of a query to an Excel file.

  1. Öffnen Sie Excel 2013.Launch Excel 2013.

  2. Navigieren Sie zum Menüband Daten .Navigate to the Data ribbon.

  3. Klicken Sie auf Aus anderen Quellen und dann auf Von SQL Server.Click From Other Sources and click From SQL Server.

    Excel-Import aus anderen Quellen

  4. Geben Sie im Datenverbindungs-Assistenten den Servernamen und die Anmeldeinformationen ein.In the Data Connection Wizard type the server name and login credentials. Klicken Sie auf Weiter.Then click Next.

  5. Wählen Sie im Dialogfeld Wählen Sie die Datenbank, die die benötigten Daten enthält die Datenbank ElasticDBQuery aus.In the dialog box Select the database that contains the data you want, select the ElasticDBQuery database.

  6. Wählen Sie in der Listenansicht die Tabelle Customers aus, und klicken Sie auf Weiter.Select the Customers table in the list view and click Next. Klicken Sie auf Fertig stellen.Then click Finish.

  7. Wählen Sie im Formular Daten importieren unter Wählen Sie das Format aus, in dem Sie diese Daten in der Arbeitsmappe anzeigen möchten die Option Tabelle aus, und klicken Sie auf OK.In the Import Data form, under Select how you want to view this data in your workbook, select Table and click OK.

Die Excel-Tabelle wird mit allen Zeilen aus der Tabelle Customers gefüllt, die in verschiedenen Shards gespeichert sind.All the rows from Customers table, stored in different shards populate the Excel sheet.

Sie können jetzt die leistungsstarken Funktionen von Excel zur Datenvisualisierung verwenden.You can now use Excel’s powerful data visualization functions. Sie können die Verbindungszeichenfolge mit dem Servernamen, Datenbanknamen und den Anmeldeinformationen zur Verbindung der BI und der Datenintegrationstools mit der elastischen Abfragedatenbank verwenden.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. Stellen Sie sicher, dass SQL Server als Datenquelle für das Tool unterstützt wird.Make sure that SQL Server is supported as a data source for your tool. Sie können auf die elastische Abfragedatenbank und die externen Tabellen wie auf jede andere SQL Server-Datenbank und SQL Server-Tabelle verweisen, zu denen Sie mit dem Tool eine Verbindung herstellen würden.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.

KostenCost

Es gibt keine zusätzlichen Gebühren für die Verwendung der Abfragefunktion für elastische Datenbanken.There is no additional charge for using the Elastic Database Query feature.

Preisinformationen finden Sie in der SQL-Datenbank – Preisdetails.For pricing information see SQL Database Pricing Details.

Nächste SchritteNext steps