تمرين - إنشاء جدول خارجي من قاعدة بيانات في قاعدة بيانات Azure SQL
في هذه الوحدة، يمكنك الاتصال بجدول خارجي وإنشاءه من قاعدة بيانات في قاعدة بيانات Azure SQL باستخدام خدمات PolyBase. لهذا التمرين، يمكنك:
- إنشاء قاعدة بيانات في SQL Server 2025.
- إنشاء مفتاح رئيسي لقاعدة بيانات لتأمين بيانات اعتماد نطاق قاعدة بيانات Azure SQL.
- إنشاء بيانات اعتماد محددة النطاق لقاعدة بيانات للوصول إلى مصدر بيانات قاعدة بيانات Azure SQL.
- إنشاء مصدر بيانات خارجي باستخدام بيانات اعتماد نطاق قاعدة البيانات.
- الاستعلام عن مصدر البيانات الخارجي باستخدام OPENROWSET.
- إنشاء جدول خارجي باستخدام مصدر البيانات الخارجي.
المتطلبات المسبقه
قاعدة بيانات Azure SQL التي تم إنشاؤها باستخدام الإرشادات الموجودة في Quickstart: إنشاء قاعدة بيانات واحدة - قاعدة بيانات Azure SQL. لهذا التمرين، قم بتسمية خادم Azure SQL
polybaseserverوقاعدة بيانات Azure SQLpolybase2025test. تأكد من تحديد استخدام البيانات الموجودة > عينة ضمن الإعدادات الإضافية عند إنشاء قاعدة البيانات.مثيل SQL Server 2025 مع تثبيت PolyBase وتمكينه كما هو الحال في التمرين السابق. للاتصال بقاعدة بيانات أخرى مثل قاعدة بيانات Azure SQL، تحتاج إلى استخدام خدمات PolyBase. افتح SQL Server Configuration Manager وتأكد من تشغيل SQL Server PolyBase Data Movement وخدمات SQL Server PolyBase Engine.
إنشاء قاعدة بيانات
في مثيل SQL Server الخاص بك، قم بإنشاء قاعدة بيانات تسمى Demo2، وقم بالتبديل إلى استخدام قاعدة البيانات هذه.
USE MASTER;
IF EXISTS (SELECT * FROM sys.databases WHERE [name] = N'Demo2')
BEGIN
ALTER DATABASE Demo2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE IF EXISTS Demo2;
END;
CREATE DATABASE Demo2;
USE Demo2;
إنشاء المفتاح الرئيسي لقاعدة البيانات
إنشاء مفتاح رئيسي لقاعدة البيانات الجديدة هذه، كما في التمرين السابق.
DECLARE @randomWord VARCHAR(64) = NEWID();
DECLARE @createMasterKey NVARCHAR(500) = N'
IF NOT EXISTS (SELECT * FROM sys.symmetric_keys WHERE name = ''##MS_DatabaseMasterKey##'')
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ' + QUOTENAME(@randomWord, '''')
EXEC sp_executesql @createMasterKey;
SELECT * FROM sys.symmetric_keys;
إنشاء بيانات اعتماد محددة النطاق لقاعدة البيانات
إنشاء بيانات اعتماد محددة النطاق لقاعدة البيانات لاستخدامها للاتصال بخادم Azure SQL المنطقي. استبدل <sql_user><password> باسم المستخدم وكلمة المرور لخادم Azure SQL.
CREATE DATABASE SCOPED CREDENTIAL AzureSQLDB
WITH IDENTITY = '<sql_user>', Secret = '<password>';
إنشاء مصدر البيانات الخارجي لقاعدة بيانات Azure SQL
إنشاء مصدر بيانات خارجي يشير إلى خادم Azure SQL المنطقي. يمكنك استخدام بادئة sqlserver:// للاتصال بالخادم. في هذا المثال، اسم الخادم المؤهل بالكامل هو polybaseserver.database.windows.net.
CREATE EXTERNAL DATA SOURCE AzureSQLDB
WITH ( LOCATION = 'sqlserver://polybaseserver.database.windows.net',
CREDENTIAL = AzureSQLDB);
تمكين الاستعلامات الموزعة المخصصة
بشكل افتراضي، لا يسمح SQL Server بالاستعلامات الموزعة المخصصة باستخدام OPENROWSET. قم بتشغيل الأمر sp_configure لتمكين الاستعلامات الموزعة المخصصة. لمزيد من المعلومات، راجع الاستعلامات الموزعة المخصصة (خيار تكوين الخادم).
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC SP_CONFIGURE N'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
استخدام OPENROWSET للوصول إلى قاعدة بيانات Azure SQL
استخدم OPENROWSET للاتصال بقاعدة بيانات polybase2025test في قاعدة بيانات Azure SQL والاستعلام عن جدول SalesLT.Customer. تحتاج إلى تحديد موفر. يستخدم هذا المثال موفر MSOLEDBSQL، الذي تم تثبيته مع SQL Server 2025. تحتاج أيضا إلى تحديد <user> مصادقة SQL <password>
SELECT
*
FROM OPENROWSET(
N'MSOLEDBSQL',
'Server=polybaseserver.database.windows.net;database=polybase2025test;uid=<user>;pwd=<password>',
'SELECT * FROM SalesLT.Customer'
);
إنشاء جدول خارجي من SQL Server 2025 إلى قاعدة بيانات Azure SQL
الآن بعد أن تحققت من أنه يمكنك الاستعلام عن مصدر البيانات الخارجي، يمكنك إنشاء جدول خارجي يسمى ext_tblCustomers وعرضه من مصدر البيانات هذا باستخدام بيانات الاعتماد المحددة في نطاق قاعدة البيانات ومصدر البيانات الخارجي.
CREATE EXTERNAL TABLE ext_tblCustomers(
CustomerID INT
,LastName NVARCHAR(50)
,EmailAddress NVARCHAR(50)
)
WITH
(LOCATION = N'polybase2025test.SalesLT.Customer'
,DATA_SOURCE = AzureSQLDB);
SELECT * FROM ext_tblCustomers;
في هذه الوحدة، استخدمت PolyBase على مثيل SQL Server 2025 للاستعلام عن جدول خارجي وإنشائه من قاعدة بيانات Azure SQL. انتقل إلى الوحدة التالية للتعرف على الأمر CREATE EXTERNAL TABLE AS SELECT (CETAS) وفوائده.