Exercițiu - Creează un tabel extern dintr-o bază de date în Azure SQL Database
În această unitate, te conectezi și creezi un tabel extern dintr-o bază de date în Azure SQL Database folosind serviciile PolyBase. Pentru acest exercițiu, tu:
- Creează o bază de date în SQL Server 2025.
- Creează o cheie principală a bazei de date pentru a securiza acreditarea cu scop de bază de date Azure SQL.
- Creează o acreditare cu acoperire de bază de date pentru a accesa sursa de date Azure SQL Database.
- Creează o sursă externă de date folosind acreditarea cu scop de bază de date.
- Interoghează sursa de date externă folosind OPENROWSET.
- Creează un tabel extern folosind sursa de date externă.
Prerequisites
O bază de date Azure SQL creată folosind instrucțiunile din Quickstart: Creează o singură bază de date - Azure SQL Database. Pentru acest exercițiu, denumește serverul
polybaseserverAzure SQL și baza de datepolybase2025testAzure SQL. Asigură-te că selectezi Folosește exemplul de date > existente la setări suplimentare când creezi baza de date.O instanță SQL Server 2025 cu PolyBase instalat și activat, ca în exercițiul anterior. Pentru a te conecta la o altă bază de date, cum ar fi o bază de date Azure SQL, trebuie să folosești serviciile PolyBase. Deschide SQL Server Configuration Manager și asigură-te că serviciile SQL Server PolyBase Data Movement și SQL Server PolyBase Engine funcționează.
Crearea unei baze de date
În instanța ta SQL Server, creează o bază de date numită Demo2, și treci la utilizarea acelei baze de date.
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;
Creează cheia principală a bazei de date
Creează o cheie principală a bazei de date pentru această nouă bază de date, ca în exercițiul anterior.
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;
Creează acreditarea cu acoperire a bazei de date
Creează credențialul cu scop de bază de date pentru a te conecta la serverul tău logic Azure SQL. Înlocuiește <sql_user> și <password> cu numele de utilizator și parola serverului tău Azure SQL.
CREATE DATABASE SCOPED CREDENTIAL AzureSQLDB
WITH IDENTITY = '<sql_user>', Secret = '<password>';
Creează sursa de date externă pentru Azure SQL Database
Creează sursa de date externă care să indice către serverul logic Azure SQL. Folosești prefixul sqlserver:// pentru a te conecta la server. În acest exemplu, numele complet calificat al serverului este polybaseserver.database.windows.net.
CREATE EXTERNAL DATA SOURCE AzureSQLDB
WITH ( LOCATION = 'sqlserver://polybaseserver.database.windows.net',
CREDENTIAL = AzureSQLDB);
Activează interogările distribuite ad-hoc
Implicit, SQL Server nu permite interogări distribuite ad-hoc folosind OPENROWSET. Rulează comanda sp_configure pentru a permite interogări distribuite adhoc. Pentru mai multe informații, vezi interogări distribuite ad-hoc (opțiunea de configurare a serverului).
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC SP_CONFIGURE N'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
Folosește OPENROWSET pentru a accesa baza de date Azure SQL
Folosește OPENROWSET pentru a te conecta la polybase2025test baza de date în Azure SQL Database și pentru a interoga tabelul SalesLT.Customer . Trebuie să specifici un furnizor. Acest exemplu folosește furnizorul MSOLEDBSQL, care este instalat cu SQL Server 2025. De asemenea, trebuie să specifici autentificarea <user> SQL și <password>
SELECT
*
FROM OPENROWSET(
N'MSOLEDBSQL',
'Server=polybaseserver.database.windows.net;database=polybase2025test;uid=<user>;pwd=<password>',
'SELECT * FROM SalesLT.Customer'
);
Creează un tabel extern din SQL Server 2025 către Azure SQL Database
Acum că ai verificat, poți interoga sursa de date externă, poți crea și vizualiza un tabel extern apelat ext_tblCustomers din acea sursă de date folosind credențialele cu scop de bază de date și sursa de date externă.
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;
În această unitate, ai folosit PolyBase pe o instanță SQL Server 2025 pentru a interoga și crea un tabel extern din Azure SQL Database. Treci la următoarea unitate pentru a învăța despre comanda CREATE EXTERNAL TABLE AS SELECT (CETAS) și beneficiile acesteia.