البدء باستعلامات قاعدة البيانات المشتركة (التقسيم الرأسي) (معاينة)

ينطبق على: قاعدة بيانات Azure SQL

يسمح لك استعلام قاعدة البيانات المرن (المعاينة) لـ Azure SQL Database بتشغيل استعلامات T-SQL التي تمتد عبر قواعد بيانات متعددة باستخدام نقطة اتصال واحدة. تنطبق هذه المقالة على قواعد البيانات المقسمة عمودياً.

عند الانتهاء، ستتعرف على كيفية تكوين Azure SQL Database واستخدامها لإجراء استعلامات تشمل عدة قواعد بيانات ذات صلة.

لمزيد من المعلومات عن ميزة استعلام قاعدة البيانات المرنة، راجع نظرة عامة على استعلام قاعدة البيانات المرنة لـAzure SQL Database.

المتطلبات الأساسية

مطلوب تغيير أي إذن مصدر بيانات خارجي. تم إدراج هذا الإذن مع إذن تغيير قاعدة بيانات. يجب الحصول على أذونات «تغيير مصدر البيانات الخارجي» للإشارة إلى مصدر البيانات الأساسي.

إنشاء قواعد البيانات النموذجية

للبدء، أنشئ قاعدتين من قواعد البيانات، العملاء والطلبات، إما في نفس الخوادم أو في خوادم مختلفة.

نفذ الاستعلامات التالية في قاعدة بيانات الطلبات لإنشاء جدول OrderInformation وإدخال البيانات النموذجية.

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)

الآن، قم بتنفيذ الاستعلام التالي في قاعدة بيانات العملاء لإنشاء جدول CustomerInformation وإدخال نموذج البيانات.

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

إنشاء كائنات قاعدة البيانات

قاعدة بيانات المفتاح الرئيسي وبيانات الاعتماد

  1. افتح SQL Server Management Studio أو SQL Server Data Tools في Visual Studio.

  2. اتصل بقاعدة بيانات الطلبات وقم بتنفيذ أوامر T-SQL التالية:

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

    "master_key_password" هي كلمة مرور قوية من اختيارك تستخدم لتشفير بيانات اعتماد الاتصال. يجب أن يكون "اسم المستخدم" و"كلمة المرور" هما أنفسهما المستخدمين لتسجيل الدخول إلى قاعدة بيانات العملاء (أنشئ مستخدماً جديداً في قاعدة بيانات العملاء إذا لم يكن أحدهما موجوداً بالفعل). يمكن إجراء المصادقة باستخدام Microsoft Azure Active Directory مع الاستعلامات المرنة غير المدعومة حالياً.

مصادر البيانات الخارجية

لإنشاء مصدر بيانات خارجي، قم بتنفيذ الأمر التالي في قاعدة بيانات الطلبات:

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

الجداول الخارجية

قم بإنشاء جدول خارجي في قاعدة بيانات الطلبات، والذي يتطابق مع تعريف جدول معلومات العميل:

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

تنفيذ نموذج استعلام T-SQL لقاعدة البيانات المرنة

بمجرد تحديد مصدر البيانات الخارجية والجداول الخارجية، يمكنك الآن استخدام T-SQL للاستعلام عن الجداول الخارجية. قم بتنفيذ هذا الاستعلام في قاعدة بيانات الطلبات:

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

Cost

حالياً، يتم تضمين ميزة استعلام قاعدة البيانات المرنة في تكلفة Azure SQL Database.

للحصول على معلومات التسعير، راجع تسعير قاعدة بيانات SQL.

الخطوات التالية