Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:Azure SQL Veritabanı
Azure SQL Veritabanı için elastik veritabanı sorgusu (önizleme), tek bir bağlantı noktası kullanarak birden çok veritabanına yayılan T-SQL sorguları çalıştırmanızı sağlar. Bu makale, dikey olarak bölümlenmiş veritabanları için geçerlidir. Bu makalede, birden çok ilişkili veritabanına yayılan sorgular gerçekleştirmek için Azure SQL Veritabanı'nı yapılandırmayı ve kullanmayı öğrenin.
Elastik veritabanı sorgu özelliği hakkında daha fazla bilgi için bkz. Azure SQL Veritabanı elastik sorguya genel bakış (önizleme).
Önkoşullar
HERHANGİ BİR HARİCİ VERİ KAYNAĞINI DEĞİŞTİRME izni gereklidir. Bu izin ALTER DATABASE iznine dahil edilir. ALTER ANY EXTERNAL DATA SOURCE permissions to refer to the underlying data source.
Örnek veritabanları oluşturma
Başlangıç olarak, aynı veya farklı mantıksal sunucularda Customers ve Ordersolmak üzere iki veritabanı oluşturun.
Orders veritabanında aşağıdaki sorguları yürüterek OrderInformation tablosunu oluşturun ve örnek verileri girin.
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)
Şimdi Customers veritabanında aşağıdaki sorguyu yürüterek CustomerInformation tablosunu oluşturun ve örnek verileri girin.
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')
Veritabanı nesneleri oluşturma
Veritabanı kapsamlı ana anahtar ve kimlik bilgileri
Visual Studio'da SQL Server Management Studio'yu veya SQL Server Veri Araçları açın.
Orders veritabanına bağlanın ve aşağıdaki T-SQL komutlarını yürütür:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master_key_password>'; CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred WITH IDENTITY = '<username>', SECRET = '<password>';-
master_key_password, seçtiğiniz bağlantı kimlik bilgilerini şifrelemek için kullandığınız güçlü bir paroladır. -
usernamevepassword, Müşteriler veritabanında oturum açmak için kullanılan kullanıcı adı ve parola olmalıdır (henüz yoksa Müşteriler veritabanında yeni bir kullanıcı oluşturun). - Elastik sorgularla Microsoft Entra Id (eski adıyla Azure Active Directory) kullanılarak kimlik doğrulaması şu anda desteklenmemektedir.
-
Dış veri kaynakları
Dış veri kaynağı oluşturmak için Orders veritabanında aşağıdaki komutu yürüterek Customers veritabanına bağlanın.
LOCATION'deki Customers veritabanının Azure SQL mantıksal sunucusunu sağlayın.
CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc WITH
(TYPE = RDBMS,
LOCATION = '<server_name>.database.windows.net',
DATABASE_NAME = 'Customers',
CREDENTIAL = ElasticDBQueryCred
);
Dış tablolar
Orders veritabanında CustomerInformation tablosunun tanımıyla eşleşen bir dış tablo oluşturun:
CREATE EXTERNAL TABLE [dbo].[CustomerInformation]
( [CustomerID] [int] NOT NULL,
[CustomerName] [varchar](50) NOT NULL,
[Company] [varchar](50) NOT NULL)
WITH
( DATA_SOURCE = MyElasticDBQueryDataSrc)
Uzaktan sorgular
Tek bir uzak Azure SQL Veritabanı veya yatay bölümleme düzeninde parça görevi gören veritabanları kümesinde Transact-SQL ifadesini yürütmek için sp_execute_remote saklı yordamını kullanın. Aşağıdaki uzak T-SQL sorgusu, dış OrderInformation tablosundaki verileri döndürür.
EXEC sp_execute_remote
N'MyElasticDBQueryDataSrc',
N'SELECT COUNT(CustomerID) AS customer_count FROM CustomerInformation';
Örnek elastik veritabanı T-SQL sorgusu yürütme
Dış veri kaynağınızı ve dış tablolarınızı tanımladıktan sonra, artık dış tablolarınızı sorgulamak için T-SQL kullanabilirsiniz. Bu sorguyu Orders veritabanında yürüt:
SELECT OrderInformation.CustomerID, OrderInformation.OrderId, CustomerInformation.CustomerName, CustomerInformation.Company
FROM OrderInformation
INNER JOIN CustomerInformation
ON CustomerInformation.CustomerID = OrderInformation.CustomerID;
Maliyet
Şu anda elastik veritabanı sorgu özelliği, Azure SQL Veritabanı maliyetine dahil edilir.
Fiyatlandırma bilgileri için bkz. fiyatlandırma SQL Veritabanı.
İlgili içerik
- Azure SQL Veritabanı elastik sorguya genel bakış (önizleme)
- Farklı şemalara (önizleme) sahip bulut veritabanları arasında sorgu
- Ölçeği genişletilmiş bulut veritabanları (önizleme) genelinde Rapor
- Ölçeği genişletilmiş bulut veritabanlarında raporlamayı (önizleme)
- sp_execute_remote