Aan de slag met query's voor meerdere data bases (verticaal partitioneren) (preview)Get started with cross-database queries (vertical partitioning) (preview)

VAN TOEPASSING OP: jaAzure SQL Database APPLIES TO: yesAzure SQL Database

Met Elastic data base query (preview) voor Azure SQL Database kunt u T-SQL-query's uitvoeren die meerdere data bases omvatten met behulp van één verbindings punt.Elastic database query (preview) for Azure SQL Database allows you to run T-SQL queries that span multiple databases using a single connection point. Dit artikel is van toepassing op verticaal gepartitioneerde data bases.This article applies to vertically partitioned databases.

Wanneer u klaar bent, kunt u informatie over het configureren en gebruiken van een Azure SQL Database voor het uitvoeren van query's die meerdere gerelateerde data bases omvatten.When completed, you will: learn how to configure and use an Azure SQL Database to perform queries that span multiple related databases.

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

VereistenPrerequisites

U moet een machtiging voor externe gegevens bronnen wijzigen.ALTER ANY EXTERNAL DATA SOURCE permission is required. Deze machtiging is opgenomen in de machtiging ALTER data base.This permission is included with the ALTER DATABASE permission. Machtigingen voor externe gegevens bronnen wijzigen is nodig om te verwijzen naar de onderliggende gegevens bron.ALTER ANY EXTERNAL DATA SOURCE permissions are needed to refer to the underlying data source.

De voorbeeld databases makenCreate the sample databases

U kunt beginnen met het maken van twee data bases, klanten en Orders, op dezelfde server of op verschillende servers.To start with, create two databases, Customers and Orders, either in the same or different servers.

Voer de volgende query's uit op de Data Base Orders om de tabel OrderInformation te maken en de voorbeeld gegevens in te voeren.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)

Voer nu de volgende query uit op de klanten database om de tabel CustomerInformation te maken en de voorbeeld gegevens in te voeren.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

Data base-bereik hoofd sleutel 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. Maak verbinding met de data base orders 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 gebruikers naam en het wacht woord moeten de gebruikers naam en het wacht woord zijn die worden gebruikt om u 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 wordt momenteel niet ondersteund.Authentication using Azure Active Directory with elastic queries is not currently supported.

Externe gegevensbronnenExternal data sources

Als u een externe gegevens bron wilt maken, voert u de volgende opdracht uit in de data base orders: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 data base orders die overeenkomt met de definitie van de CustomerInformation-tabel: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 voor beeld van een Elastic data base-T-SQL-query uitvoerenExecute a sample elastic database T-SQL query

Wanneer u uw externe gegevens bron en uw externe tabellen hebt gedefinieerd, kunt u nu T-SQL gebruiken om een query uit te zoeken op 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. Deze query uitvoeren op de orders database: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 voor Elastic data base-query's 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 SQL database prijzenvoor prijs informatie.For pricing information, see SQL Database Pricing.

Volgende stappenNext steps