Veritabanları arası sorguları kullanmaya başlama (dikey bölümleme) (önizleme)
Ş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.
Tamamlandığında: birden çok ilişkili veritabanına yayılan sorgular gerçekleştirmek için bir Azure SQL Veritabanı yapılandırmayı ve kullanmayı öğreneceksiniz.
Elastik veritabanı sorgusu özelliği hakkında daha fazla bilgi için bkz. elastik veritabanı sorgusuna genel bakış Azure SQL Veritabanı.
Önkoşullar
ALTER ANY EXTERNAL DATA SOURCE permission is required. 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ı sunucularda Müşteriler ve Siparişler adlı iki veritabanı oluşturun.
Aşağıdaki sorguları Orders veritabanında 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 CustomerInformation tablosunu oluşturmak ve örnek verileri giriş yapmak için Customers veritabanında aşağıdaki sorguyu yürütür.
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. "kullanıcı adı" ve "parola", 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ütür:
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)
Ö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ı.
Sonraki adımlar
- Elastik sorguya genel bakış için bkz . Elastik sorguya genel bakış.
- Dikey olarak bölümlenmiş veriler için söz dizimi ve örnek sorgular için bkz . Dikey olarak bölümlenmiş verileri sorgulama.
- Yatay bölümleme (parçalama) öğreticisi için bkz . Yatay bölümleme (parçalama) için elastik sorguyu kullanmaya başlama.
- Yatay olarak bölümlenmiş veriler için söz dizimi ve örnek sorgular için bkz . Yatay olarak bölümlenmiş verileri sorgulama.
- Yatay bölümleme düzeninde parça olarak hizmet veren tek bir uzak Azure SQL Veritabanı veya veritabanı kümesinde Transact-SQL deyimini yürüten bir saklı yordam için bkz. sp_execute_remote.