Last chance! 50% off DataCamp Premium
Sale ends in
I database SQL svolgono un ruolo fondamentale nelle moderne applicazioni dati, offrendo un modo strutturato per archiviare, gestire e recuperare i dati. Questi database usano SQL per eseguire attività che vanno da semplici query a complesse transazioni sui dati.
I database Azure SQL offrono elevata disponibilità e scalabilità, garantendo prestazioni affidabili per i progetti dati. Essendo un servizio completamente gestito, riduce l’onere amministrativo occupandosi di attività di manutenzione come aggiornamenti e backup. L’integrazione con altri servizi Azure semplifica lo sviluppo e il deployment delle tue soluzioni dati.
Azure mette a disposizione una suite di servizi SQL per esigenze di database diverse. In questo tutorial esploreremo questi servizi, ma ci concentreremo soprattutto su Azure SQL Database approfondendone configurazione, utilizzo e gestione.
Microsoft Azure offre tre principali servizi di database SQL pensati per casi d’uso ed esigenze specifiche: Azure SQL Database, Azure SQL Managed Instance e SQL Server su Macchine Virtuali (VM) di Azure.
Azure SQL Database è un’offerta PaaS (Platform as a Service) completamente gestita. Astrae l’infrastruttura sottostante, consentendo agli sviluppatori di concentrarsi sulla creazione e sul deployment delle applicazioni senza preoccuparsi delle attività di manutenzione del database.
Azure SQL Managed Instance è un servizio gestito che offre una compatibilità quasi al 100% con SQL Server on-premises, facilitando la migrazione delle applicazioni SQL Server esistenti al cloud. Combina i vantaggi del PaaS con un maggiore controllo sull’ambiente del database.
SQL Server su VM Azure è un’offerta IaaS (Infrastructure as a Service) che consente di eseguire installazioni complete di SQL Server su VM Azure. Questa opzione fornisce il pieno controllo sull’istanza SQL Server e sul sistema operativo sottostante, in modo analogo ai deployment on-premises.
La scelta del servizio Azure SQL più adatto dipende da requisiti e vincoli specifici. Ecco alcune considerazioni per aiutarti a decidere in modo informato:
|
Considerazione |
Azure SQL Database |
Azure SQL Managed Instance |
SQL Server su VM Azure |
|
Compatibilità applicativa |
Ideale per applicazioni moderne cloud-native. |
Perfetto per una compatibilità quasi completa con le funzionalità di SQL Server on-premises. |
Offre pieno controllo ed è adatto ad applicazioni legacy che richiedono configurazioni personalizzate. |
|
Carico gestionale |
Minimo, con manutenzione automatizzata. |
Minimo, con manutenzione automatizzata. |
Elevato, richiede una gestione più pratica. |
|
Esigenze di scalabilità |
Scalabilità trasparente per carichi variabili. |
Scalabilità trasparente per carichi variabili. |
Scalabile ma può richiedere più interventi manuali. |
|
Sicurezza e conformità |
Sicurezza integrata estesa e certificazioni. |
Sicurezza integrata estesa e certificazioni. |
Sicurezza robusta, ma la conformità dipende da configurazioni personalizzate. |
|
Requisiti prestazionali |
Adatto alla maggior parte delle applicazioni con prestazioni cloud. |
Buone prestazioni con compatibilità SQL Server. |
Ideale per esigenze ad alte prestazioni con piena personalizzazione. |
In sintesi, Azure SQL Database è ideale per applicazioni cloud-native con minimo carico gestionale; Azure SQL Managed Instance è indicato per applicazioni legacy che necessitano della compatibilità con SQL Server; SQL Server su VM Azure offre il massimo controllo per carichi personalizzati e ad alte prestazioni.
Ora concentriamoci sul servizio Azure SQL Database.
La creazione di un Azure SQL Database prevede diversi passaggi, tutti eseguibili tramite l’Azure Portal. Di seguito trovi una guida dettagliata per configurare il tuo database SQL.
1. Nell’Azure Portal, fai clic sul pulsante “Create a resource” nell’angolo in alto a sinistra della home page. Nella pagina delle nuove risorse, digita “SQL Database” nella casella di ricerca e selezionalo dall’elenco dei servizi.
2. Configura le impostazioni del database come segue:

Schermata “Create a SQL database” in Azure con riepilogo dei costi a destra. Immagine dell’autore
3. Se hai già un SQL Server, fai clic su "Use existing" e seleziona il server dall’elenco. Se non hai un SQL Server esistente, fai clic su "Create new" per crearne uno. Dovrai configurare le seguenti impostazioni.

Creazione di un nuovo SQL Database Server in Azure. Immagine dell’autore
4. Successivamente, configura il metodo di autenticazione e l’accesso amministratore del server:
5. Alcune impostazioni aggiuntive da considerare:
6. Infine, rivedi tutte le impostazioni di configurazione per assicurarti che tutto sia impostato come desideri. Fai clic su "Review + create". Dopo la convalida, fai clic su "Create" per distribuire il tuo database SQL.
Se vuoi approfondire Azure, dai un’occhiata al corso Azure Architecture and Services.
Esistono vari strumenti e metodi per connettersi a un Azure SQL Database. Questa sezione copre i principali strumenti di connessione e spiega l’uso delle stringhe di connessione e dei metodi di autenticazione.
Segui questi passaggi per connetterti al tuo database SQL ed eseguire query direttamente in Azure:
1. Apri l’Azure Portal e vai alla risorsa del tuo database SQL. Fai clic su "Query editor (preview)" nel menu a sinistra.
2. Inserisci il login e la password dell’amministratore del server per usare l’autenticazione SQL oppure, se configurata, usa l’autenticazione Microsoft Entra ID (precedentemente Azure Active Directory).
3. Puoi eseguire direttamente query SQL sul tuo database all’interno del query editor dell’Azure Portal.

Il query editor dell’Azure Portal. Immagine dell’autore
SQL Server Management Studio (SSMS) è un ambiente integrato completo per la gestione dell’infrastruttura SQL Server, che consente di configurare, monitorare e amministrare istanze di database SQL Server.
Azure Data Studio è uno strumento di gestione dati multipiattaforma per la gestione di database SQL Server on-premises o in ambienti multi-cloud.
Le stringhe di connessione sono essenziali affinché le applicazioni si connettano al tuo Azure SQL Database. Contengono nome del server, nome del database, credenziali di autenticazione e altri parametri.
Esempio di stringa di connessione per l’autenticazione SQL:
Server=tcp:your_server_name.database.windows.net,1433;Initial Catalog=your_database_name;Persist Security Info=False;User ID=your_username;Password=your_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
In SSMS o Azure Data Studio, connettiti al tuo Azure SQL Database ed esegui script SQL per creare nuovi utenti e assegnare ruoli. Includi nome utente e password nella stringa di connessione per l’autenticazione.
CREATE LOGIN mylogin WITH PASSWORD = 'StrongPassword!';
CREATE USER myuser FOR LOGIN mylogin;
ALTER ROLE db_datareader ADD MEMBER myuser;
Segui questi passaggi per configurare l’amministratore Entra ID e assegnare utenti/ruoli:
1. Nell’Azure Portal, vai alla risorsa del tuo SQL Server e seleziona "Active Directory admin" per impostare un utente o gruppo Entra ID come amministratore.
2. Usa script SQL per creare utenti e assegnare loro ruoli. Questo richiede SSMS o Azure Data Studio con autenticazione Entra ID abilitata. Ad esempio:
CREATE USER [aad_user@domain.com] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [aad_user@domain.com];
3. Modifica la tua stringa di connessione per includere le credenziali Entra ID. Questo spesso comporta la configurazione di un’autenticazione basata su token:
Server=tcp:your_server_name.database.windows.net,1433;Initial Catalog=your_database_name;Persist Security Info=False;User ID=aad_user@domain.com;Authentication="Active Directory Password";Password=your_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
La gestione e l’uso di un Azure SQL Database comprendono operazioni di base e l’impiego di funzionalità avanzate per ottimizzare prestazioni, scalabilità e disponibilità. Di seguito trovi passaggi e metodi dettagliati sia per la gestione di base sia avanzata del database.
Connettiti al tuo database usando SSMS, Azure Data Studio o il query editor dell’Azure Portal ed esegui il seguente comando SQL per creare una tabella:
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(50),
Email NVARCHAR(100),
HireDate DATE
);
Inserisci dati nella tabella appena creata usando il seguente codice SQL:
INSERT INTO Employees (EmployeeID, FirstName, LastName, Email, HireDate)
VALUES (1, 'John', 'Doe', 'john.doe@example.com', '2022-01-01');
Puoi recuperare i dati dalla tabella con una semplice query SELECT. Ad esempio, per ottenere tutti i dati dalla tabella Employees:
SELECT * FROM Employees;
T-SQL (Transact-SQL) è un’estensione di SQL di Microsoft utilizzata per gestire e manipolare database relazionali. Consente di svolgere molte attività, tra cui creare e modificare tabelle, gestire i dati e implementare logiche complesse tramite stored procedure e trigger.
CREATE PROCEDURE GetEmployeeByID
@EmployeeID INT
AS
BEGIN
SELECT * FROM Employees WHERE EmployeeID = @EmployeeID;
END;
In questo esempio, la stored procedure accetta come parametro in input un ID dipendente e restituisce tutte le colonne del dipendente con quello specifico ID dalla tabella ‘Employees’.
Ecco come puoi eseguire la stored procedure appena creata:
EXEC GetEmployeeByID @EmployeeID = 1;
Vediamo ora funzionalità più sofisticate che puoi usare nel tuo Azure SQL Database, soprattutto in ambienti di produzione.
Gli elastic pool in Azure SQL Database ti permettono di gestire e scalare più database con utilizzi variabili e imprevedibili. Offrono efficienza dei costi condividendo le risorse tra i database all’interno del pool. Segui questi passaggi per creare un elastic pool:
1. Vai all’Azure Portal, seleziona il tuo server SQL Database e fai clic su "Create new" sotto Elastic Pool.
2. Configura il pool impostando il numero di DTU (Database Transaction Units) e aggiungendo i database.
Azure SQL Database offre diverse opzioni di alta disponibilità e disaster recovery per garantire che il database resti operativo e i dati siano protetti:
Quando lavori con i dati, la sicurezza è fondamentale. In questa sezione vengono illustrate le principali funzionalità di sicurezza del servizio Azure SQL Database.
Per proteggere il tuo Azure SQL Database da accessi non autorizzati e garantire una connettività sicura e privata all’interno del tuo ambiente Azure, puoi adottare queste best practice:
Per proteggere i tuoi dati nei database Azure SQL, valuta queste configurazioni avanzate:
Per rafforzare ulteriormente la sicurezza e la protezione dei dati del tuo database SQL, puoi configurare processi di auditing per tracciare le attività del database e archiviare i log in un account Azure Storage, in un’area di lavoro Log Analytics o in Event Hub.
Puoi anche usare Azure Monitor per monitorare metriche di prestazioni e sicurezza e impostare avvisi per condizioni specifiche.
Se vuoi saperne di più sulla data governance in Azure, dai un’occhiata al corso Azure Management and Governance di DataCamp.
I prezzi di Azure SQL Database possono essere complessi a causa delle diverse opzioni di configurazione che li influenzano. In questa sezione, analizzeremo i principali fattori che incidono sui costi.
Ogni livello (Basic, Standard e Premium) offre differenti livelli di prestazioni e funzionalità. La scelta del livello di servizio incide sul costo: Basic è il meno costoso, Premium il più costoso.
Puoi scegliere tra prezzi basati su DTU o su vCore:
La quantità di dati archiviati nel database incide sul costo. Lo storage è fatturato in base alle dimensioni di archiviazione fornite, non allo spazio effettivamente utilizzato.
La quantità di storage utilizzata per i backup automatici (fino a un determinato periodo di conservazione) è inclusa. Ulteriore spazio di backup per periodi di conservazione più lunghi comporta costi aggiuntivi.
A seconda dell’opzione di deployment, i costi possono variare:
Funzionalità come la configurazione con ridondanza di zona o le offerte del livello premium con garanzie di disponibilità più elevate possono aumentare i costi.
I dati trasferiti da Azure SQL Database (ad es., verso client esterni o altre regioni Azure) comportano costi di egress. Il trasferimento interno di dati all’interno della stessa regione Azure è in genere gratuito.
Ecco alcuni suggerimenti per ottimizzare i costi dei database Azure SQL:
La configurazione e la gestione efficaci di un Azure SQL Database richiedono un’autenticazione solida e strumenti di connessione adeguati. L’uso di funzionalità di sicurezza avanzate e degli strumenti di monitoraggio di Azure garantisce che il database rimanga sicuro ed efficiente. Comprendere i livelli di prezzo e i fattori che incidono sui costi aiuta a prendere decisioni informate per ottimizzare le spese.
Seguendo le linee guida di questo tutorial, puoi mantenere un ambiente Azure SQL Database sicuro, ad alte prestazioni e conveniente.
Vuoi saperne di più su Azure? Dai un’occhiata al percorso Azure Fundamentals di Datacamp.
Per ottimizzare le prestazioni delle query, analizza e ottimizza regolarmente le tue query usando lo strumento Query Performance Insights. Inoltre, assicurati di indicizzare correttamente, usa query parametrizzate per prevenire SQL injection e valuta opzioni di scalabilità del database come gli elastic pool per gestire carichi variabili.
Azure SQL Database gestisce automaticamente i backup, inclusi backup completi, differenziali e dei log delle transazioni archiviati in storage geograficamente ridondante. Puoi configurare il periodo di conservazione dei backup nell’Azure Portal, nelle impostazioni "Configure" del database, assicurando che i dati siano salvaguardati in base alle tue esigenze aziendali.
Azure SQL Database è un servizio completamente gestito progettato per applicazioni cloud-native, che offre backup, patching e scalabilità automatici. SQL Server su VM Azure fornisce il pieno controllo sull’ambiente SQL Server, consentendo configurazioni personalizzate e requisiti ad alte prestazioni, ma richiede una gestione e una manutenzione più impegnative.
I single database sono database indipendenti ottimizzati per applicazioni single-tenant. Ogni database ha il proprio set di risorse.
Gli elastic pool sono una raccolta di database che condividono risorse (eDTU o vCore). Ideali per applicazioni multi-tenant in cui le richieste di risorse variano tra i database, offrendo risparmio sui costi ed efficienza delle risorse.
Per proteggere i dati sensibili, abilita Transparent Data Encryption (TDE) per cifrare i dati a riposo e Always Encrypted per proteggere i dati in transito e a riposo. Usa Advanced Threat Protection (ATP) integrato in Azure per rilevare e rispondere a potenziali minacce e applica pratiche solide di autenticazione e autorizzazione con Azure Active Directory (AAD).
Anneleen è una data scientist con un background in statistica e scienze sociali. Attualmente lavora come data scientist freelance nel settore finanziario e sta frequentando un master post-laurea in Intelligenza Artificiale Applicata. Anneleen è l'istruttrice di quattro corsi DataCamp, tra cui "Azure Management and Governance".
Approfondisci Azure e il cloud computing con questi corsi!
Corso
Corso
Corso
blog
Tim Lu
12 min

blog
Abid Ali Awan
15 min

blog
Abid Ali Awan
10 min