البدء باستعلامات قاعدة البيانات المشتركة (التقسيم الرأسي) (معاينة)
ينطبق على: قاعدة بيانات 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')
إنشاء كائنات قاعدة البيانات
قاعدة بيانات المفتاح الرئيسي وبيانات الاعتماد
افتح SQL Server Management Studio أو SQL Server Data Tools في Visual Studio.
اتصل بقاعدة بيانات الطلبات وقم بتنفيذ أوامر 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.
الخطوات التالية
- للحصول على نظرة عامة على الاستعلام المرن، راجع نظرة عامة على استعلام مرن.
- للحصول على استعلامات صيغة ونموذج البيانات المقسمة عمودياً، راجع الاستعلام عن البيانات المقسمة عمودياً)
- للحصول على برنامج تعليمي عن التقسيم الأفقي (التجزئة)، راجع البدء في الاستعلام المرن للتقسيم الأفقي (التجزئة).
- للحصول على استعلامات صيغة ونموذج البيانات المقسمة أفقياً، راجع الاستعلام عن البيانات المقسمة أفقياً)
- راجع sp_execute _remote لإجراء مخزَّن ينفذ عبارة Transact-SQL على Azure SQL Database واحدة بعيدة أو مجموعة من قواعد البيانات التي تعمل كأجزاء في نظام تقسيم أفقي.