Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre 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ázisokravonatkozik. Ebből a cikkből megtudhatja, hogyan konfigurálhat és használhat Azure SQL Database-adatbázist több kapcsolódó adatbázisra kiterjedő lekérdezések végrehajtására.
A rugalmas adatbázis-lekérdezés funkcióval kapcsolatos további információkért lásd Rugalmas Azure SQL Database-lekérdezések áttekintését (előzetes verzió).
Előfeltételek
A külső adatforrások módosításához szükséges engedély. Ez az engedély az ALTER DATABASE 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, Customers és Ordersegy vagy több logikai kiszolgálón.
Hajtsa végre az alábbi lekérdezéseket a Orders adatbázison a 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 a Customers adatbázison 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őkulcs és hitelesítő adatok
Nyissa meg az SQL Server Management Studiót vagy az SQL Server Data Toolst a Visual Studióban.
Csatlakozzon az Orders adatbázishoz, é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_passworda kapcsolat hitelesítő adatainak titkosításához választott erős jelszó. - A
usernameés apasswordaz Ü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 ID -val (korábban Azure Active Directory) végzett hitelesítés jelenleg nem támogatott rugalmas lekérdezésekkel.
- A
Külső adatforrások
Külső adatforrás létrehozásához hajtsa végre a következő parancsot a Orders adatbázison a Customers adatbázishoz való csatlakozáshoz. A Customers adatbázis Azure SQL logikai kiszolgálóját adja meg a LOCATION-ben.
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 Orders adatbázison, 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)
Távoli lekérdezések
A sp_execute_remote tárolt eljárással Transact-SQL utasítást hajthat végre egyetlen távoli Azure SQL Database-adatbázison vagy horizontális particionálási sémában szegmensként szolgáló adatbázisok készletén. Az alábbi távoli T-SQL-lekérdezés a külső OrderInformation táblából ad vissza adatokat.
EXEC sp_execute_remote
N'MyElasticDBQueryDataSrc',
N'SELECT COUNT(CustomerID) AS customer_count FROM CustomerInformation';
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 a 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ási információkért tekintse meg az SQL Database díjszabását.
Kapcsolódó tartalom
- Rugalmas Azure SQL Database-lekérdezés áttekintése (előzetes verzió)
- Különböző sémákkal (előzetes verzió) rendelkező felhőadatbázisok lekérdezése
- Jelentés vertikálisan felskálázott felhőalapú adatbázisokban (előzetes verzió)
- Jelentéskészítés vertikálisan felskálázott felhőalapú adatbázisokban (előzetes verzió)
- sp_execute_remote