Aumentare la produttività degli sviluppatori con strumenti e servizi integrati
SQL Server 2025 fornisce funzionalità e strumenti per gli sviluppatori per lavorare con dati, eventi e API. Questa unità illustra le funzionalità di sviluppo in SQL Server 2025.
Implementare le funzionalità di arricchimento dei dati
SQL Server 2025 migliora significativamente le funzionalità di arricchimento dei dati con diverse funzionalità chiave:
Usare JSON nativo
SQL Server 2025 offre un supporto JSON nativo migliorato, consentendo di archiviare, eseguire query e modificare JSON direttamente in T-SQL. Nuove funzioni come JSON_OBJECT e JSON_VALUE semplificano l'uso di dati semistrutturati, mentre l'indicizzazione avanzata migliora le prestazioni per le query JSON. In questo modo, la fusione di dati relazionali e gerarchici risulta più semplice per le applicazioni moderne.
JSON il supporto in SQL Server consente di archiviare e usare i dati JSON in modo nativo.
- Elaborare i documenti JSON direttamente in SQL Server
- Eseguire query e aggiornare JSON con T-SQL
- Indicizzare le proprietà JSON per prestazioni più veloci
- Convalidare JSON a livello di database
- Usare il tipo di dati JSON per l'applicazione rigorosa del tipo
L'esempio seguente illustra come SQL Server 2025 usi il nuovo tipo di dati JSON con convalida automatica e notazione punto, consentendo di archiviare JSON in una colonna e le proprietà di query come nome e prezzo direttamente in T-SQL senza funzioni aggiuntive.
-- Create a table with a JSON column
CREATE TABLE Products (
ProductId int PRIMARY KEY,
ProductData JSON
);
-- Insert valid JSON data with automatic validation
INSERT INTO Products (ProductId, ProductData)
VALUES (1, '{"name": "Widget", "price": 19.99, "features": ["durable", "lightweight"]}');
-- Query JSON properties using dot notation
SELECT
ProductId,
ProductData.name,
ProductData.price
FROM Products;
Suggerimento
Usare la ISJSON() funzione per convalidare i dati JSON prima di archiviarli nel database.
Integrare le API REST
SQL Server 2025 introduce il supporto predefinito dell'API REST, consentendo l'interazione diretta con oggetti di database su HTTP senza middleware aggiuntivo. Gli sviluppatori possono esporre tabelle, viste e stored procedure come endpoint RESTful, semplificando l'integrazione di SQL Server con applicazioni Web e per dispositivi mobili moderne. La funzionalità supporta l'autenticazione sicura, i payload JSON per l'input e l'output e il controllo con granularità fine su quali operazioni vengono esposte. Ciò semplifica la creazione di servizi leggeri e microservizi che usano SQL Server come back-end riducendo al contempo il sovraccarico di sviluppo.
Le operazioni dell'API REST vengono eseguite nel database, migliorando la sicurezza e riducendo le dipendenze esterne.
| Caratteristica / Funzionalità | Descrzione | Esempio di caso d'uso |
|---|---|---|
| Integrazione dell'API | Chiamare funzioni API esterne da T-SQL | Arricchire i dati con servizi non Microsoft |
| Autenticazione di API | Proteggere le chiamate API con identità gestite | Connettersi ai servizi di Azure in modo sicuro |
| Gestione delle risposte | Elaborare le risposte JSON/XML in modo nativo | Trasformare automaticamente i dati esterni |
| Gestione delle richieste | Configurare i timeout e i tentativi di ripetizione | Verificare la comunicazione affidabile delle API |
Usare le operazioni RegEx
SQL Server 2025 aggiunge il supporto nativo per le espressioni regolari (RegEx) in T-SQL, consentendo potenti criteri di ricerca e manipolazione del testo direttamente all'interno delle query. Con nuove funzioni come REGEXP_MATCHES, REGEXP_REPLACEe REGEXP_LIKE, gli sviluppatori possono convalidare l'input, estrarre modelli complessi ed eseguire trasformazioni avanzate di stringhe senza basarsi su CLR (Common Language Runtime) o script esterni. Questa funzionalità semplifica le attività come la pulizia dei dati, la convalida del formato e la ricerca di modelli dinamici, rendendo SQL Server più versatile per gli scenari di elaborazione dei dati moderni.
Il supporto delle espressioni regolari aggiunge capacità di riconoscimento dei pattern:
| Funzione | Scopo | Example |
|---|---|---|
| REGEXP_MATCHES | Verificare se una stringa corrisponde a un criterio | Convalidare i formati di posta elettronica |
| REGEXP_REPLACE | Sostituire il testo usando i modelli | Pulire e standardizzare i dati |
| REGEXP_EXTRACT | Estrarre sottostringhe corrispondenti | Analizzare il testo strutturato |
| REGEXP_LIKE | Confronto tra stringhe basate su criteri | Filtrare i dati usando i modelli |
L'esempio seguente illustra come SQL Server 2025 possa chiamare api esterne direttamente usando sp_invoke_external_service, inviando una richiesta POST con dati dinamici e intestazioni sicure e acquisendo la risposta JSON per l'uso immediato in T-SQL.
-- Call an external API to enrich customer data
DECLARE @apiResponse JSON;
EXEC sp_invoke_external_service
@service_name = 'CustomerEnrichment',
@url = 'https://api.example.com/enrich',
@method = 'POST',
@headers = '{"Authorization": "Bearer {{azure_token}}"}',
@request_body = '{"customerId": @customerId}',
@response = @apiResponse OUTPUT;
Nell'esempio seguente viene illustrato come SQL Server 2025 usi funzioni RegEx come REGEXP_MATCHES per convalidare i formati di posta elettronica e REGEXP_REPLACE per standardizzare i numeri di telefono, abilitando la potente convalida del testo e la trasformazione direttamente in T-SQL.
-- Validate email addresses using RegEx
SELECT
CustomerID,
Email,
CASE
WHEN Email REGEXP_MATCHES '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
THEN 'Valid'
ELSE 'Invalid'
END AS EmailStatus
FROM Customers;
-- Standardize phone numbers using RegEx
SELECT
PhoneNumber,
REGEXP_REPLACE(
PhoneNumber,
'^\+?1?[-. ]?(\d{3})[-. ]?(\d{3})[-. ]?(\d{4})$',
'($1) $2-$3'
) AS FormattedPhone
FROM Contacts;
Configurare lo streaming di eventi
SQL Server 2025 introduce funzionalità di streaming di eventi nativi, consentendo il flusso dei dati in tempo reale direttamente dal database ai consumer esterni senza pipeline ETL complesse. Usando il supporto predefinito per i protocolli di streaming, è possibile pubblicare modifiche da tabelle, viste o query come flussi continui a piattaforme come Azure Event Hubs.
Configurare lo streaming di eventi di modifica
Assicurarsi che lo spazio dei nomi Azure Event Hubs sia configurato correttamente prima di configurare lo streaming di eventi di modifica.
Lo streaming del flusso di eventi di modifica permette di:
- Trasmettere le modifiche del log delle transazioni direttamente a Azure Event Hubs
- Ridurre il sovraccarico degli I/O rispetto al CDC tradizionale
- Abilitare la replica dei dati in tempo reale
- Supportare architetture guidate dagli eventi
Alcuni dei principali vantaggi dello streaming degli eventi di modifica includono:
- Riduzione della latenza: lo streaming diretto dai log delle transazioni elimina la necessità di archiviazione intermedia
- Utilizzo delle risorse inferiore: operazioni di I/O ottimizzate rispetto a CDC
- Integrazione dell'intelligenza artificiale in tempo reale: consentire agli agenti di intelligenza artificiale di elaborare e reagire immediatamente alle modifiche ai dati
- Architettura scalabile: creata per gestire ambienti di transazioni con volumi elevati
Usare strumenti e linguaggi per sviluppatori
SQL Server 2025 espande la produttività degli sviluppatori con un ampio supporto di linguaggio e strumenti. Gli sviluppatori possono lavorare con T-SQL insieme a linguaggi moderni come Python, R e JavaScript tramite ambienti di runtime integrati, abilitando i flussi di lavoro avanzati di analisi e intelligenza artificiale direttamente nel database.
Le estensioni Visual Studio avanzate offrono funzionalità di debug, IntelliSense e distribuzione più avanzate, mentre i nuovi strumenti dell'interfaccia della riga di comando semplificano l'automazione e Azure Pipelines. In combinazione con gli endpoint DELL'API REST e le funzionalità native json, RegEx e streaming di eventi, SQL Server 2025 offre una piattaforma unificata per la creazione efficiente di applicazioni moderne basate sui dati.
Installare Python driver
Il nuovo driver Python per SQL Server 2025 offre:
- Installazione semplice tramite pip:
pip install mssql-python - Supporto asincrono/await per prestazioni migliori
- Pool di connessioni integrato
- Hint di tipo per una migliore integrazione dell'IDE
- Gestione degli errori completa
Il frammento di codice di Python seguente illustra come eseguire una query asincrona su un database SQL Server usando Python. Usa la mssql.async libreria per stabilire una connessione non bloccante con connect('connection_string'), garantendo una gestione efficiente delle risorse con async. All'interno della connessione viene creato un cursore, viene eseguita una query SQL usando SELECT TOP 10 * FROM Customers in modo asincrono con await cursor.execute()e vengono recuperati tutti i risultati usando await cursor.fetchall().
from mssql.async import connect
async with connect('connection_string') as conn:
async with conn.cursor() as cursor:
await cursor.execute('SELECT TOP 10 * FROM Customers')
results = await cursor.fetchall()
Migliorare l'esperienza di VS Code con GitHub Copilot
L'estensione MSSQL per Visual Studio Code include ora funzionalità basate sull'intelligenza artificiale tramite l'integrazione GitHub Copilot:
Generazione intelligente di SQL:
- Completare le query SQL in base alle descrizioni del linguaggio naturale
- Suggerire modelli di query ottimizzati
- Generare modifiche allo schema del database
Esplorazione intelligente dello schema:
- Raccomandazioni per gli schemi basati sull'intelligenza artificiale
- Rilevamento automatico delle relazioni
- Analisi dell'impatto per le modifiche dello schema
L'ottimizzazione delle query:
- Suggerimenti per il miglioramento delle prestazioni
- Raccomandazioni sugli indici
- Analisi del piano di esecuzione
Supporto ORM:
- Generare migrazioni di Entity Framework
- Suggerire modifiche del modello in base allo schema del database
- Creare il codice del livello di accesso ai dati
Usare l'estensione MSSQL per configurare il profilo di connessione e aprire un nuovo editor di query. Quando si inizia a digitare commenti come:
-- Find all customers who made purchases in the last 30 days
-- and calculate their total spending
Copilot legge la finalità e suggerisce automaticamente una query SQL completa.
SELECT
c.CustomerID,
c.Name,
COUNT(o.OrderID) as OrderCount,
SUM(o.TotalAmount) as TotalSpending
FROM
Customers c
JOIN Orders o ON c.CustomerID = o.CustomerID
WHERE
o.OrderDate >= DATEADD(day, -30, GETDATE())
GROUP BY
c.CustomerID,
c.Name
HAVING
COUNT(o.OrderID) > 0
ORDER BY
TotalSpending DESC;
Premere Tab o Invio per accettare il suggerimento di Copilot o modificarlo per l'accuratezza.
Queste funzionalità consentono agli sviluppatori di creare applicazioni di database più sofisticate, efficienti e gestibili, migliorando al contempo la produttività grazie all'assistenza per l'intelligenza artificiale e agli strumenti moderni.