תרגיל - יצירת טבלה חיצונית ממסד נתונים ב-Azure SQL Database

הושלם

ביחידה זו, אתה מתחבר ויוצר טבלה חיצונית ממסד נתונים ב-Azure SQL Database באמצעות שירותי PolyBase. לתרגיל הזה, אתה:

  • צור מסד נתונים ב-SQL Server 2025.
  • צור מפתח ראשי למסד נתונים כדי לאבטח את האישור הממוקד במסד הנתונים Azure SQL.
  • צור אישור טווח מסד נתונים כדי לגשת למקור הנתונים של Azure SQL Database.
  • צור מקור נתונים חיצוני באמצעות האישור המבוסס על מסד הנתונים.
  • שאילתא את מקור הנתונים החיצוני באמצעות OPENROWSET.
  • צור טבלה חיצונית באמצעות מקור הנתונים החיצוני.

‏‫דרישות מוקדמות‬

  • מסד נתונים Azure SQL שנוצר באמצעות ההוראות ב-Quickstart: Create a single database - Azure SQL Database. לתרגיל זה, יש לקרוא לשרת polybaseserver Azure SQL ולמסד הנתונים polybase2025testAzure SQL . ודא שאתה בוחר ב'השתמש בדוגמת נתונים > קיימת ' תחת הגדרות נוספות כשאתה יוצר את מסד הנתונים.

  • גלגול 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 Database

צור את מקור הנתונים החיצוני שמצביע על שרת הלוגי 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 Database ולשאול את הטבלה 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 Database

עכשיו כשאישרת שאתה יכול לשאול את מקור הנתונים החיצוני, אתה יכול ליצור ולצפות בטבלה חיצונית שנקראת 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 Database. המשך ליחידה הבאה כדי ללמוד על פקודת יצירת טבלה חיצונית כבחירה (CETAS) והיתרונות שלה.