Вправа - Створіть зовнішню таблицю з бази даних Azure SQL Database

Завершено

У цьому пристрої ви підключаєтеся до та створюєте зовнішню таблицю з бази даних Azure SQL Database, використовуючи сервіси PolyBase. Для цієї вправи ви:

  • Створіть базу даних у SQL Server 2025.
  • Створіть головний ключ бази даних для захисту облікового даних Azure SQL бази даних.
  • Створіть облікові дані з обмеженням бази даних для доступу до джерела даних Azure SQL Database.
  • Створіть зовнішнє джерело даних, використавши облікові дані з обмеженням бази даних.
  • Запит до зовнішнього джерела даних за допомогою OPENROWSET.
  • Створіть зовнішню таблицю, використовуючи зовнішнє джерело даних.

Вимоги

  • База даних Azure SQL створена за допомогою інструкцій у Quickstart: Створити єдину базу даних — Azure SQL Database. Для цієї вправи назвіть Azure SQL server polybaseserver та базу polybase2025testданих Azure SQL . Обов'язково виберіть «Використати існуючі зразки даних>» у розділі «Додаткові налаштування» під час створення бази даних.

  • Інстанс SQL Server 2025 з встановленим і увімкненим PolyBase, як і в попередньому процесі. Щоб підключитися до іншої бази даних, наприклад Azure SQL, потрібно використовувати сервіси PolyBase. Відкрийте SQL Server Configuration Manager і переконайтеся, що працюють сервіси переміщення даних SQL Server PolyBase та 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);

Увімкнути ad hoc розподілені запити

За замовчуванням SQL Server не дозволяє ad hoc розподілені запити з використанням OPENROWSET. Запустіть sp_configure команду, щоб увімкнути ad hoc розподілені запити. Детальніше див. ad hoc розподілені запити (опція конфігурації сервера).

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. Також потрібно вказати SQL-автентифікацію <user> та <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. Перейдіть до наступного блоку, щоб дізнатися про команду CREATE EXTERNAL TABLE AS SELECT (CETAS) та її переваги.