Ismerkedés az adatbázisközi lekérdezésekkel (függőleges particionálás) (előzetes verzió)

A következőre vonatkozik: Azure SQL Database

Az Azure SQL Database rugalmas adatbázis-lekérdezése (előzetes verzió) lehetővé teszi több adatbázisra kiterjedő T-SQL-lekérdezések futtatását egyetlen csatlakozási pont használatával. Ez a cikk függőlegesen particionált adatbázisokra vonatkozik.

Ha elkészült, megtudhatja, hogyan konfigurálhatja és használhatja az Azure SQL Database-t több kapcsolódó adatbázisra kiterjedő lekérdezések végrehajtására.

A rugalmas adatbázis-lekérdezési funkcióval kapcsolatos további információkért tekintse meg az Azure SQL Database rugalmas adatbázis-lekérdezésének áttekintését.

Előfeltételek

A KÜLSŐ ADATFORRÁS ENGEDÉLYÉNEK MÓDOSÍTÁSA szükséges. Ez az engedély az ALTER DATABA Standard kiadás engedély részét képezi. A mögöttes adatforrásra való hivatkozáshoz BÁRMILYEN KÜLSŐ ADATFORRÁS-engedély módosítása szükséges.

Mintaadatbázisok létrehozása

Első lépésként hozzon létre két adatbázist, az Ügyfeleket és a Rendeléseket ugyanazon vagy különböző kiszolgálókon.

Hajtsa végre a következő lekérdezéseket az Orders adatbázisban az OrderInformation tábla létrehozásához és a mintaadatok beviteléhez.

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)

Most hajtsa végre a következő lekérdezést az Ügyfelek adatbázisban a CustomerInformation tábla létrehozásához és a mintaadatok beviteléhez.

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')

Adatbázis-objektumok létrehozása

Adatbázis hatókörű főkulcsa és hitelesítő adatai

  1. Nyissa meg az SQL Server Management Studiót vagy az SQL Server Data Toolst a Visual Studióban.

  2. Csatlakozás az Orders adatbázisba, és hajtsa végre a következő T-SQL-parancsokat:

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

    A "master_key_password" egy erős jelszó, amelyet a kapcsolat hitelesítő adatainak titkosításához választott. A "felhasználónévnek" és a "jelszónak" az Ügyfelek adatbázisba való bejelentkezéshez használt felhasználónévnek és jelszónak kell lennie (új felhasználó létrehozása az Ügyfelek adatbázisban, ha még nem létezik). A Microsoft Entra-azonosítóval (korábbi nevén Azure Active Directory) történő hitelesítés jelenleg nem támogatott rugalmas lekérdezésekkel.

Külső adatforrások

Külső adatforrás létrehozásához hajtsa végre a következő parancsot az Orders adatbázisban:

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

Külső táblák

Hozzon létre egy külső táblát a Rendelések adatbázisban, amely megfelel a CustomerInformation tábla definíciójának:

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

Rugalmas T-SQL-lekérdezés mintájának végrehajtása

Miután definiálta a külső adatforrást és a külső táblákat, a T-SQL használatával lekérdezheti a külső táblákat. Hajtsa végre ezt a lekérdezést az Orders adatbázisban:

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

Költség

Jelenleg a rugalmas adatbázis-lekérdezési funkció szerepel az Azure SQL Database költségei között.

A díjszabással kapcsolatos információkért tekintse meg az SQL Database díjszabását.

További lépések