Descrivere i servizi e le funzionalità di Azure SQL

Completato

Azure SQL è un termine collettivo indicante una famiglia di servizi di database basati su Microsoft SQL Server in Azure. I servizi specifici di Azure SQL includono:

  • SQL Server in macchine virtuali di Azure: macchina virtuale in esecuzione in Azure con un'installazione di SQL Server. L'uso di una macchina virtuale fa di questa opzione una soluzione IaaS (infrastruttura distribuita come servizio) che virtualizza l'infrastruttura hardware per il calcolo, l'archiviazione e la rete in Azure, rendendola l'opzione ideale per la migrazione al cloud in modalità "lift-and-shift" di installazioni locali esistenti di SQL Server.
  • Istanza gestita di SQL di Azure: opzione PaaS (piattaforma distribuita come servizio) che assicura quasi il 100% della compatibilità con le istanze di SQL Server locali astraendo l'hardware e il sistema operativo sottostanti. Il servizio include la gestione automatizzata degli aggiornamenti software, dei backup e di altre attività di manutenzione, riducendo l'onere amministrativo del supporto di un'istanza del server di database.
  • Database SQL di Azure: servizio di database PaaS completamente gestito e altamente scalabile progettato per il cloud. Questo servizio include le funzionalità di base a livello di database di SQL Server locale ed è una valida opzione quando è necessario creare una nuova applicazione nel cloud.
  • SQL Edge di Azure: motore SQL ottimizzato per gli scenari IoT (Internet delle cose) che necessitano di lavorare con dati delle serie temporali in streaming.

Nota

Anche se SQL Edge di Azure è incluso in questo elenco per completezza, in questo modulo verranno incentrate le altre opzioni per scenari di database relazionali più generali.

Confrontare i servizi di Azure SQL

-- SQL Server in macchine virtuali di Azure Istanza gestita di SQL di Azure database SQL di Azure
SQL Server logo della macchina virtuale di Azure Istanza gestita di SQL di Azure Logo del database SQL di Azure
Tipo di servizio cloud IaaS PaaS PaaS
Compatibilità di SQL Server Completamente compatibile con installazioni fisiche e virtualizzate locali. È possibile eseguire facilmente la migrazione di applicazioni e database in modalità "lift-and-shift" senza modifiche. Compatibilità quasi completa con SQL Server. È possibile eseguire la migrazione della maggior parte dei database locali con modifiche minime al codice usando il servizio di migrazione del database di Azure Supporta la maggior parte delle funzionalità di base a livello di database di SQL Server. Alcune funzionalità dipendenti da un'applicazione locale potrebbero non essere disponibili.
Architettura Le istanze di SQL Server vengono installate in una macchina virtuale. Ogni istanza può supportare più database. Ogni istanza gestita può supportare più database. Inoltre, i pool di istanze possono essere usati per condividere le risorse in modo efficiente in istanze più piccole. È possibile effettuare il provisioning di un database singolo in un server dedicato gestito (logico) oppure è possibile usare un pool elastico per condividere le risorse tra più database e sfruttare la scalabilità su richiesta.
Disponibilità 99,99% 99,99% 99,995%
Gestione È necessario gestire tutti gli aspetti del server, inclusi il sistema operativo e gli aggiornamenti di SQL Server, la configurazione, i backup e altre attività di manutenzione. Aggiornamenti, backup e ripristino completamente automatizzati. Aggiornamenti, backup e ripristino completamente automatizzati.
Casi d'uso Usare questa opzione quando è necessario eseguire la migrazione di una soluzione SQL Server locale o estenderla e mantenere il controllo completo su tutti gli aspetti della configurazione del server e del database. Usare questa opzione per la maggior parte degli scenari di migrazione al cloud, in particolare quando sono necessarie modifiche minime alle applicazioni esistenti. Usare questa opzione per le nuove soluzioni cloud o per eseguire la migrazione di applicazioni con dipendenze minime a livello di istanza.

SQL Server in Macchine virtuali di Azure

SQL Server in macchine virtuali consente di usare le versioni complete di SQL Server nel cloud senza dover gestire hardware locale. Questo è un esempio dell'approccio IaaS.

SQL Server in esecuzione in una macchina virtuale di Azure replica efficacemente il database in esecuzione su hardware locale reale. La migrazione dal sistema in esecuzione in locale a una macchina virtuale di Azure non è diversa dallo spostamento dei database da un server locale a un altro.

Questo approccio è adatto alle migrazioni e alle applicazioni che richiedono l'accesso alle funzionalità del sistema operativo che potrebbero non essere supportate a livello PaaS. Le macchine virtuali SQL sono lift-and-shift pronte per le applicazioni esistenti che richiedono una migrazione rapida al cloud con modifiche minime. È anche possibile usare SQL Server nelle macchine virtuali di Azure per estendere le applicazioni locali esistenti al cloud nelle distribuzioni ibride.

Nota

Una distribuzione ibrida è un sistema in cui parte dell'operazione viene eseguita in locale e parte nel cloud. Il database potrebbe far parte di un sistema più ampio eseguito in locale, anche se gli elementi del database potrebbero essere ospitati nel cloud.

È possibile usare SQL Server in una macchina virtuale per sviluppare e testare applicazioni SQL Server tradizionali. Con una macchina virtuale, si dispone dei diritti amministrativi completi sul DBMS e sul sistema operativo. Si tratta di una scelta perfetta quando un'organizzazione ha già a disposizione risorse IT per gestire le macchine virtuali.

Queste funzionalità consentono di:

  • Creare scenari di sviluppo e test rapidi quando non si vuole acquistare hardware SQL Server non di produzione locale.
  • Prepararsi per il lift-and-shift per le applicazioni esistenti che richiedono una migrazione rapida al cloud con modifiche minime o senza modifiche.
  • Aumentare le dimensioni della piattaforma in cui SQL Server è in esecuzione, allocando più memoria, potenza della CPU e spazio su disco per la macchina virtuale. È possibile ridimensionare rapidamente una macchina virtuale di Azure senza la necessità di reinstallare il software in esecuzione su di essa.

Vantaggi aziendali

L'esecuzione di SQL Server su macchine virtuali consente di soddisfare esigenze aziendali univoche e diversificate grazie a una combinazione di distribuzioni locali e ospitate nel cloud, usando lo stesso set di prodotti server, strumenti di sviluppo e competenze in questi ambienti.

Per le aziende non è sempre facile trasferire il DBMS a un servizio completamente gestito. Potrebbe essere necessario soddisfare requisiti specifici per eseguire la migrazione a un servizio gestito che richiede modifiche al database e alle applicazioni che lo usano. Per questo motivo, l'uso di macchine virtuali può offrire una soluzione, ma non elimina la necessità di amministrare il sistema di gestione di database con la stessa attenzione di un sistema locale.

Istanza gestita di database SQL di Azure

L'istanza gestita di Azure SQL esegue efficacemente un'istanza completamente controllabile di SQL Server nel cloud. È possibile installare più database nella stessa istanza. Si ha il controllo completo di questa istanza, come per un server locale. Istanza gestita di SQL automatizza i backup, l'applicazione di patch software, il monitoraggio dei database e altre attività generali, ma si ha il controllo completo sulla sicurezza e sull'allocazione delle risorse per i database. Per informazioni dettagliate, vedere Che cos'è Istanza gestita di SQL di Azure?

Le istanze gestite dipendono da altri servizi di Azure, ad esempio Archiviazione di Azure per i backup, Hub eventi di Azure per la telemetria, Microsoft Entra ID per l'autenticazione, Azure Key Vault per Transparent Data Encryption (TDE) e un paio di servizi della piattaforma Azure che offrono funzionalità di sicurezza e supporto. Le istanze gestite consentono di stabilire connessioni a tali servizi.

Tutte le comunicazioni vengono crittografate e firmate mediante certificati. Per verificare l'affidabilità delle parti che comunicano, le istanze gestite controllano costantemente questi certificati rispetto agli elenchi di revoche dei certificati. Se i certificati sono revocati, l'istanza gestita chiude le connessioni per proteggere i dati.

Casi d'uso

Considerare Istanza gestita di SQL di Azure se si vuole usare la modalità lift-and-shift per un'istanza di SQL Server locale e tutti i relativi database nel cloud, senza incorrere nel sovraccarico di gestione dell'esecuzione di SQL Server in una macchina virtuale.

Istanza gestita di SQL di Azure fornisce funzionalità non disponibili nel database SQL di Azure (illustrato di seguito). Se il sistema usa funzionalità quali server collegati, Service Broker (un sistema di elaborazione dei messaggi che può essere usato per distribuire il lavoro tra server) o Posta elettronica database (che consente al database di inviare messaggi di posta elettronica agli utenti), è necessario usare l'istanza gestita. Per verificare la compatibilità con un sistema locale esistente, è consigliabile usare servizio Migrazione del database di Azure, disponibile come estensione migrazione SQL di Azure per Azure Data Studioo tramite portale di Azureo tramite Azure PowerShell e l'interfaccia della riga di comando di Azure. Questo strumento analizza i database in SQL Server e segnala eventuali problemi che potrebbero bloccare la migrazione a un'istanza gestita.

Vantaggi aziendali

Istanza gestita di SQL di Azure consente a un amministratore di sistema di dedicare meno tempo alle attività amministrative perché il servizio le esegue automaticamente o le semplifica notevolmente. Le attività automatizzate includono l'installazione di software e l'applicazione di patch al sistema operativo e al sistema di gestione del database, il ridimensionamento e la configurazione di istanze dinamiche, i backup, la replica di database (inclusi i database di sistema), la configurazione della disponibilità elevata e la configurazione dei flussi di dati di monitoraggio dello stato e delle prestazioni.

Istanza gestita di SQL di Azure ha una compatibilità quasi al 100% con SQL Server Enterprise Edition, in esecuzione in locale.

Istanza gestita di SQL di Azure supporta gli account di accesso del motore di database di SQL server e gli account di accesso integrati con Microsoft Entra ID. Gli account di accesso del motore di database di SQL Server includono un nome utente e una password. È necessario immettere le credenziali ogni volta che ci si connette al server. Gli account di accesso di Microsoft Entra usano le credenziali associate all'accesso al computer corrente e non è necessario specificarle ogni volta che ci si connette al server.

database SQL di Azure

Il database SQL di Azure è un'offerta PaaS di Microsoft. Si crea un server di database gestito nel cloud, quindi si distribuiscono i database in questo server.

Nota

Un server di database SQL è un costrutto logico che funge da punto di amministrazione centrale per più database singoli o in pool, account di accesso, regole del firewall, regole di controllo, criteri di rilevamento delle minacce e gruppi di failover.

Il database SQL di Azure è disponibile come database singolo o come pool elastico.

Database singolo

Questa opzione consente di configurare ed eseguire rapidamente un singolo database di SQL Server. Si crea ed esegue un server di database nel cloud e si accede al database tramite questo server. Microsoft gestisce il server, quindi è sufficiente configurare il database, creare le tabelle e popolarle con i dati. È possibile ridimensionare il database se è necessario più spazio di archiviazione, memoria o potenza di elaborazione. Per impostazione predefinita, le risorse sono pre-allocate e l'addebito avviene su base oraria per le risorse richieste. È anche possibile specificare una configurazione serverless. In questa configurazione, Microsoft crea il proprio server, che può essere condiviso dai database appartenenti ad altri sottoscrittori di Azure. Microsoft garantisce la privacy del database. Il database viene ridimensionato automaticamente e le risorse vengono allocate o deallocate in base alle esigenze.

Pool elastico

Questa opzione è simile al Database singolo, ad eccezione del fatto che per impostazione predefinita più database possono condividere le stesse risorse, ad esempio la memoria, lo spazio di archiviazione dei dati e la potenza di elaborazione attraverso più tenancy. Le risorse vengono definite pool. Si crea il pool e solo i database possono usarlo. Questo modello è utile se sono presenti database con requisiti di risorse che variano nel corso del tempo e che consentono di ridurre i costi. Ad esempio, il database delle retribuzioni potrebbe richiedere molta potenza della CPU alla fine di ogni mese durante la gestione dell'elaborazione delle retribuzioni, ma in altre occasioni potrebbe diventare molto meno attivo. Si potrebbe disporre di un altro database usato per l'esecuzione di report. Questo database potrebbe essere attivo per diversi giorni a metà del mese, quando vengono generati report di gestione, ma potrebbe avere un carico più leggero in altri momenti. Il Pool elastico consente di usare le risorse disponibili nel pool e quindi di rilasciare le risorse al termine dell'elaborazione.

Casi d'uso

Il database SQL di Azure offre l'opzione migliore per costi ridotti con amministrazione minima. Non è completamente compatibile con le installazioni di SQL Server locali. Viene spesso usato in nuovi progetti cloud in cui la progettazione dell'applicazione può adattarsi a tutte le modifiche necessarie per le applicazioni.

Nota

È possibile usare l'estensione Migrazione SQL di Azure per Azure Data Studio per rilevare problemi di compatibilità con i database che potrebbero compromettere la funzionalità del database nel database SQL di Azure. Per altre informazioni, vedere l'estensione Migrazione SQL di Azure per Azure Data Studio.

Il database SQL di Azure viene spesso usato per:

  • Applicazioni cloud moderne per le quali è necessario usare le funzionalità di SQL Server stabili più recenti.
  • Applicazioni che richiedono disponibilità elevata.
  • Sistemi con carico variabile, che necessitano del server di database per il ridimensionamento verticale rapido.

Vantaggi aziendali

Il database SQL di Azure aggiorna e installa patch automaticamente nel software SQL Server per assicurare che sia sempre in esecuzione la versione più recente e più sicura del servizio.

Le funzionalità di ridimensionamento del database SQL di Azure assicurano che sia possibile aumentare le risorse disponibili per archiviare ed elaborare i dati senza dover eseguire un aggiornamento manuale costoso.

Il servizio fornisce garanzie di disponibilità elevata, per assicurare che i database siano disponibili per almeno il 99,995% del tempo. Il database SQL di Azure supporta il ripristino temporizzato, che consente di ripristinare un database nello stato in cui si trovava in qualsiasi momento nel passato. I database possono essere replicati in aree geografiche diverse per fornire più resilienza e ripristino di emergenza.

Advanced Threat Protection offre funzionalità di sicurezza avanzate, ad esempio valutazioni delle vulnerabilità, per consentire di rilevare e risolvere i potenziali problemi di sicurezza con i database. Threat Protection rileva anche attività anomale che indicano tentativi insoliti e potenzialmente dannosi di accedere o sfruttare il database. Monitora in modo continuo il database in caso di attività sospette e fornisce avvisi di sicurezza immediati su potenziali vulnerabilità, attacchi SQL injection e in caso di criteri anomali di accesso ai database. Gli avvisi di Threat Protection includono dettagli sulle attività sospette e consigliano azioni per l'analisi e la mitigazione della minaccia.

Il controllo tiene traccia degli eventi del database e li scrive in un log di controllo nell'account di archiviazione di Azure. Il controllo consente di agevolare la conformità alle normative, comprendere l'attività del database e ottenere informazioni dettagliate su eventuali discrepanze e anomalie che potrebbero indicare problemi aziendali o sospette violazioni della sicurezza.

Il database SQL consente di proteggere i dati fornendo la crittografia che protegge i dati archiviati nel database (inattivi) e quelli che vengono trasferiti in rete (in movimento).