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
Nyissa meg az SQL Server Management Studiót vagy az SQL Server Data Toolst a Visual Studióban.
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
- A rugalmas lekérdezés áttekintését a Rugalmas lekérdezés áttekintése című témakörben tekintheti meg.
- A függőlegesen particionált adatok szintaxisa és minta lekérdezései: Függőlegesen particionált adatok lekérdezése.
- Horizontális particionálási (horizontális) oktatóanyagért tekintse meg a horizontális particionálás (horizontális particionálás) rugalmas lekérdezésének első lépéseit.>
- A horizontálisan particionált adatok szintaxisával és minta lekérdezésével kapcsolatban lásd : Horizontálisan particionált adatok lekérdezése.
- Tekintse meg a sp_execute_remote egy olyan tárolt eljárást, amely Transact-SQL-utasítást hajt végre egyetlen távoli Azure SQL Database-en vagy horizontális particionálási sémában szegmensként szolgáló adatbázisok készletén.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: