Aan de slag met query's die databaseoverschrijdend (verticale partitionering) (preview)Get started with cross-database queries (vertical partitioning) (preview)

Query van elastische database (preview) voor Azure SQL Database kunt u T-SQL-query's met betrekking tot meerdere databases met behulp van een enkele verbindingspunt uitvoeren.Elastic database query (preview) for Azure SQL Database allows you to run T-SQL queries that span multiple databases using a single connection point. In dit artikel is van toepassing op verticaal gepartitioneerd databases.This article applies to vertically partitioned databases.

Wanneer dit is voltooid, wordt u: meer informatie over het configureren en gebruiken van een Azure SQL Database-query's met betrekking meerdere verwante databases tot uitvoert.When completed, you will: learn how to configure and use an Azure SQL Database to perform queries that span multiple related databases.

Zie voor meer informatie over de functie elastic database-query, overzicht van Azure SQL Database elastic database query.For more information about the elastic database query feature, see Azure SQL Database elastic database query overview.

VereistenPrerequisites

EEN externe gegevensbron ALTER machtiging is vereist.ALTER ANY EXTERNAL DATA SOURCE permission is required. Deze machtiging is opgenomen in de machtiging ALTER DATABASE.This permission is included with the ALTER DATABASE permission. EEN externe gegevensbron ALTER machtigingen nodig om te verwijzen naar de onderliggende gegevensbron.ALTER ANY EXTERNAL DATA SOURCE permissions are needed to refer to the underlying data source.

De voorbeelddatabases makenCreate the sample databases

Te beginnen met maken van twee databases, klanten en Orders, in de dezelfde of verschillende SQL Database-servers.To start with, create two databases, Customers and Orders, either in the same or different SQL Database servers.

De volgende query's uitvoeren op de Orders database om te maken de OrderInformation tabel en voer de voorbeeldgegevens.Execute the following queries on the Orders database to create the OrderInformation table and input the sample data.

CREATE TABLE [dbo].[OrderInformation](
    [OrderID] [int] NOT NULL,
    [CustomerID] [int] NOT NULL
    )
INSERT INTO [dbo].[OrderInformation] ([OrderID], [CustomerID]) VALUES (123, 1)
INSERT INTO [dbo].[OrderInformation] ([OrderID], [CustomerID]) VALUES (149, 2)
INSERT INTO [dbo].[OrderInformation] ([OrderID], [CustomerID]) VALUES (857, 2)
INSERT INTO [dbo].[OrderInformation] ([OrderID], [CustomerID]) VALUES (321, 1)
INSERT INTO [dbo].[OrderInformation] ([OrderID], [CustomerID]) VALUES (564, 8)

Nu de volgende query worden uitgevoerd op de klanten database om te maken de CustomerInformation tabel en voer de voorbeeldgegevens.Now, execute following query on the Customers database to create the CustomerInformation table and input the sample data.

CREATE TABLE [dbo].[CustomerInformation](
    [CustomerID] [int] NOT NULL,
    [CustomerName] [varchar](50) NULL,
    [Company] [varchar](50) NULL
    CONSTRAINT [CustID] PRIMARY KEY CLUSTERED ([CustomerID] ASC)
)
INSERT INTO [dbo].[CustomerInformation] ([CustomerID], [CustomerName], [Company]) VALUES (1, 'Jack', 'ABC')
INSERT INTO [dbo].[CustomerInformation] ([CustomerID], [CustomerName], [Company]) VALUES (2, 'Steve', 'XYZ')
INSERT INTO [dbo].[CustomerInformation] ([CustomerID], [CustomerName], [Company]) VALUES (3, 'Lylla', 'MNO')

Database-objecten makenCreate database objects

Database-scoped hoofdsleutel en referentiesDatabase scoped master key and credentials

  1. Open SQL Server Management Studio of SQL Server Data Tools in Visual Studio.Open SQL Server Management Studio or SQL Server Data Tools in Visual Studio.

  2. Verbinding maken met de bestellingsdatabase en voer de volgende T-SQL-opdrachten uit:Connect to the Orders database and execute the following T-SQL commands:

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

    De 'gebruikersnaam' en 'wachtwoord' moet de gebruikersnaam en het wachtwoord dat wordt gebruikt aan te melden bij de klanten-database.The "username" and "password" should be the username and password used to log in into the Customers database. Verificatie met behulp van Azure Active Directory met elastische query's is momenteel niet ondersteund.Authentication using Azure Active Directory with elastic queries is not currently supported.

Externe gegevensbronnenExternal data sources

Voor het maken van een externe gegevensbron dan de volgende opdracht in de bestellingsdatabase:To create an external data source, execute the following command on the Orders database:

CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc WITH
    (TYPE = RDBMS,
    LOCATION = '<server_name>.database.windows.net',
    DATABASE_NAME = 'Customers',
    CREDENTIAL = ElasticDBQueryCred,
) ;

Externe tabellenExternal tables

Maak een externe tabel in de bestellingsdatabase die overeenkomt met de definitie van de tabel CustomerInformation:Create an external table on the Orders database, which matches the definition of the CustomerInformation table:

CREATE EXTERNAL TABLE [dbo].[CustomerInformation]
( [CustomerID] [int] NOT NULL,
  [CustomerName] [varchar](50) NOT NULL,
  [Company] [varchar](50) NOT NULL)
WITH
( DATA_SOURCE = MyElasticDBQueryDataSrc)

Een voorbeeld elastische database T-SQL-query uitvoerenExecute a sample elastic database T-SQL query

Nadat u uw externe gegevensbron en uw externe tabellen hebt gedefinieerd, kunt u nu T-SQL gebruiken om op te vragen van uw externe tabellen.Once you have defined your external data source and your external tables, you can now use T-SQL to query your external tables. Voer deze query uit op de bestellingsdatabase:Execute this query on the Orders database:

SELECT OrderInformation.CustomerID, OrderInformation.OrderId, CustomerInformation.CustomerName, CustomerInformation.Company
FROM OrderInformation
INNER JOIN CustomerInformation
ON CustomerInformation.CustomerID = OrderInformation.CustomerID

KostenCost

Op dit moment is de functie elastic database-query opgenomen in de kosten van uw Azure SQL Database.Currently, the elastic database query feature is included into the cost of your Azure SQL Database.

Zie voor informatie over de prijzen prijzen van SQL Database.For pricing information, see SQL Database Pricing.

Volgende stappenNext steps