Вправа - Створіть зовнішню таблицю з бази даних 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) та її переваги.