Panoramica del collegamento Istanza gestita

Si applica a:Azure SQL Managed Instance

Questo articolo offre una panoramica della funzionalità di collegamento Istanza gestita, che consente la replica dei dati quasi in tempo reale tra SQL Server e Istanza gestita di SQL di Azure. Il collegamento offre flessibilità ibrida e mobilità dei database perché sblocca diversi scenari, ad esempio il ridimensionamento di carichi di lavoro di sola lettura, l'offload di analisi e la creazione di report in Azure e la migrazione ad Azure. Inoltre, con SQL Server 2022, il collegamento consente il ripristino di emergenza online con failback a SQL Server (attualmente in anteprima), nonché la configurazione del collegamento da Istanza gestita di SQL a SQL Server 2022 (anche in anteprima).

Se hai suggerimenti o commenti per migliorare i prodotti o vuoi segnalare problemi, contatta il gruppo di prodotti tramite Istanza gestita link user feedback.

Panoramica

Il collegamento Istanza gestita usa gruppi di disponibilità distribuiti per estendere il patrimonio di dati in modo sicuro e sicuro, replicando i dati quasi in tempo reale da SQL Server ospitati ovunque si trovino a Istanza gestita di SQL di Azure o da Istanza gestita di SQL di Azure in SQL Server 2022 ospitato ovunque.

Il collegamento supporta istanze di SQL Server a nodo singolo e a più nodi con o senza gruppi di disponibilità esistenti. Tramite il collegamento è possibile usare i vantaggi di Azure senza eseguire la migrazione del data estate di SQL Server al cloud.

Anche se il collegamento supporta la replica di un database per collegamento, è possibile replicare più database da una singola istanza di SQL Server a una o più istanze gestite di SQL oppure replicare lo stesso database in più istanze gestite di SQL configurando più collegamenti, un collegamento per ogni database alla coppia di istanze gestite.

La funzionalità di collegamento offre attualmente le funzionalità seguenti:

  • Replica unidirezionale da SQL Server versioni 2016 e 2019: usare la funzionalità di collegamento per replicare i dati in modo unidirezionale dall'istanza di SQL alla Istanza gestita di SQL di Azure. Anche se è possibile eseguire manualmente il failover nell'istanza gestita in caso di emergenza, in questo modo si interrompe il collegamento e il failback non è supportato.
  • Ripristino di emergenza (SQL Server 2022): usare la funzionalità di collegamento per replicare i dati tra SQL Server 2022 e Istanza gestita di SQL, eseguire manualmente il failover nel database secondario durante un'emergenza e eseguire il failback nel database primario dopo aver risolto l'emergenza. SQL Server o Istanza gestita di SQL possono essere il database primario iniziale. Questa funzionalità è attualmente disponibile solo in anteprima.

È possibile continuare a eseguire il collegamento per tutto il tempo necessario, per mesi e persino anni alla volta. Per il percorso di modernizzazione, se o quando si è pronti per la migrazione ad Azure, il collegamento consente un'esperienza di migrazione notevolmente migliorata. La migrazione tramite il collegamento offre tempi di inattività minimi rispetto a tutte le altre opzioni di migrazione disponibili, fornendo una vera migrazione online al Istanza gestita di SQL.

I database replicati tramite il collegamento tra SQL Server e Istanza gestita di SQL di Azure possono essere usati per diversi scenari, ad esempio:

  • Ripristino di emergenza
  • Uso dei servizi di Azure senza eseguire la migrazione al cloud
  • Offload dei carichi di lavoro di sola lettura in Azure
  • Migrazione ad Azure
  • Copia dei dati in locale

Diagram that illustrates the main Managed Instance link scenario.

Supporto delle versioni

Il collegamento Istanza gestita è supportato sia nel livello di servizio Utilizzo generico che nel livello di servizio Business Critical di Istanza gestita di SQL di Azure. La funzionalità di collegamento funziona con le edizioni Enterprise, Developer e Standard di SQL Server.

Nella tabella seguente sono elencate le funzionalità della funzionalità di collegamento e le versioni minime supportate di SQL Server:

Versione primaria iniziale Sistema operativo Replica unidirezionale Opzioni di ripristino di emergenza Requisito di aggiornamento della manutenzione
Istanza gestita di SQL di Azure Windows Server e Linux Anteprima Anteprima bidirezionale SQL Server 2022 CU10 (KB5031778)1
SQL Server 2022 (16.x) Windows Server e Linux Disponibile a livello generale Bidirezionale:
Offline (disponibile a livello generale)
Online (anteprima)
SQL Server 2022 RTM
SQL Server 2019 (15.x) Solo Windows Server Disponibile a livello generale Solo da SQL Server a ISTANZA gestita di SQL SQL Server 2019 CU20 (KB5024276)
SQL Server 2017 (14.x) N/D N/D N/D N/D
SQL Server 2016 (13.x) Solo Windows Server Disponibile a livello generale Solo da SQL Server a ISTANZA gestita di SQL SQL Server 2016 SP3 (KB 5003279) e SQL Server 2016 Azure Connessione Pack (KB 5014242)

1 Durante la creazione di un collegamento con SQL Server 2022 come primario iniziale è supportato a partire dalla versione RTM di SQL Server 2022, la creazione di un collegamento con Istanza gestita di SQL di Azure come primario iniziale è supportata a partire da SQL Server 2022 CU10. Se si crea il collegamento da un Istanza gestita di SQL primario iniziale, il downgrade di SQL Server inferiore a CU10 non è supportato mentre il collegamento è attivo perché può causare problemi dopo il failover in entrambe le direzioni.

Le versioni di SQL Server precedenti a SQL Server 2016 (SQL Server 2008 - 2014) non sono supportate perché la funzionalità di collegamento si basa sulla tecnologia del gruppo di disponibilità distribuito, introdotta in SQL Server 2016.

Oltre alla versione supportata di SQL Server, è necessario:

  • Connettività di rete tra l'istanza di SQL Server e l'istanza gestita. Se SQL Server è in esecuzione in locale, usare un collegamento VPN o Azure ExpressRoute. Se SQL Server è in esecuzione in una macchina virtuale di Azure, distribuire la macchina virtuale nella stessa rete virtuale dell'istanza gestita o usare il peering di rete virtuale per connettere le due subnet separate.
  • Distribuzione Istanza gestita di SQL di Azure di cui è stato effettuato il provisioning in qualsiasi livello di servizio.

Sono necessari anche gli strumenti seguenti:

Strumento Note
SSMS 19.2 o versione successiva SQL Server Management Studio (SSMS) è il modo più semplice per usare il collegamento Istanza gestita poiché fornisce procedure guidate che automatizzano l'installazione dei collegamenti.
Az.SQL 3.9.0 o versione successiva Per i passaggi di configurazione manuale è necessario un modulo di PowerShell.

Nota

La funzionalità di collegamento Istanza gestita è disponibile in tutte le aree pubbliche di Azure e nei cloud nazionali o governativi.

La tecnologia sottostante alla funzionalità di collegamento per Istanza gestita di SQL si basa sulla creazione di un gruppo di disponibilità distribuito tra SQL Server e Istanza gestita di SQL di Azure. La soluzione supporta sistemi a nodo singolo con o senza gruppi di disponibilità esistenti o più sistemi a nodo con gruppi di disponibilità esistenti.

Diagram showing how the link feature for SQL Managed Instance works using distributed availability group technology.

La connessione privata, ad esempio una VPN o Azure ExpressRoute, viene usata tra una rete locale e Azure. Se SQL Server è ospitato in una macchina virtuale di Azure, il backbone di Azure interno può essere usato tra la macchina virtuale e l'istanza gestita, ad esempio il peering di rete virtuale. L'attendibilità tra i due sistemi viene stabilita usando l'autenticazione basata su certificati, in cui SQL Server e Istanza gestita di SQL scambiare chiavi pubbliche dei rispettivi certificati.

Possono essere presenti fino a 100 collegamenti dalla stessa origine o da varie origini di SQL Server a un singolo Istanza gestita di SQL di Azure. Questo limite è regolato dal numero di database che possono essere ospitati in un'istanza gestita contemporaneamente. Analogamente, una singola istanza di SQL Server può stabilire più collegamenti di sincronizzazione del database paralleli con diverse istanze gestite in aree di Azure diverse in una relazione uno-a-uno tra un database e un'istanza gestita.

Per configurare l'ambiente iniziale, vedere la guida per preparare l'ambiente DI SQL Server per usare la funzionalità di collegamento con Istanza gestita di SQL:

Dopo aver verificato che siano soddisfatti i requisiti iniziali dell'ambiente, è possibile creare il collegamento usando la procedura guidata automatizzata in SQL Server Management Studio (SSMS) oppure è possibile scegliere di configurare il collegamento manualmente usando gli script:

Dopo aver creato il collegamento, seguire le procedure consigliate per mantenere il collegamento:

Ripristino di emergenza

Il collegamento Istanza gestita consente il ripristino di emergenza, in cui, in caso di emergenza, è possibile eseguire manualmente il failover del carico di lavoro dal database primario al database secondario. Per iniziare, vedere Ripristino di emergenza con Istanza gestita collegamento.

Con SQL Server 2016 e SQL Server 2019, il database primario è sempre SQL Server e il failover nell'istanza gestita secondaria è unidirezionale. Il failback a SQL Server non è supportato. Tuttavia, è possibile ripristinare i dati in SQL Server usando opzioni di spostamento dei dati, ad esempio la replica transazionale o l'esportazione di un file bacpac.

Con SQL Server 2022, SQL Server o Istanza gestita di SQL può essere il database primario iniziale ed è possibile stabilire il collegamento da SQL Server o Istanza gestita di SQL. È possibile eseguire il failback dei carichi di lavoro tra il database primario e quello secondario, ottenendo un vero ripristino di emergenza bidirezionale.

Quando si esegue il failback in SQL Server, è possibile scegliere di eseguire il failback:

  • online usando direttamente il collegamento Istanza gestita. Questa opzione è attualmente in anteprima.
  • offline eseguendo un backup del database da Istanza gestita di SQL e ripristinandolo nell'istanza di SQL Server 2022. Questa opzione è disponibile a livello generale.

Diagram showing the disaster recovery scenario.

Usare i servizi di Azure

Usare la funzionalità di collegamento per sfruttare i vantaggi dei servizi di Azure usando i dati di SQL Server senza eseguirne la migrazione al cloud. Ad esempio, la creazione di report, l'analisi, i backup, l'apprendimento automatico e altri processi che inviano dati ad Azure.

Offload dei carichi di lavoro in Azure

È anche possibile usare la funzionalità di collegamento per eseguire l'offload dei carichi di lavoro in Azure. Ad esempio, un'applicazione può usare SQL Server per carichi di lavoro di lettura/scrittura, mentre esegue l'offload dei carichi di lavoro di sola lettura per Istanza gestita di SQL distribuzioni in qualsiasi area di Azure in tutto il mondo. Dopo aver stabilito il collegamento, il database primario in SQL Server è accessibile in lettura/scrittura, mentre i dati replicati nell'istanza gestita in Azure sono accessibili in sola lettura. Questa disposizione consente diversi scenari in cui i database replicati nell'istanza gestita possono essere usati per la scalabilità orizzontale in lettura e l'offload dei carichi di lavoro di sola lettura in Azure. L'istanza gestita, in parallelo, può anche ospitare database di lettura/scrittura indipendenti. Ciò consente di copiare il database replicato in un altro database di lettura/scrittura nella stessa istanza gestita per un'ulteriore elaborazione dei dati.

Il collegamento è con ambito database (un collegamento per ogni database), consentendo il consolidamento e la deconsolazione dei carichi di lavoro in Azure. Ad esempio, è possibile replicare i database da più istanze di SQL Server a una singola distribuzione Istanza gestita di SQL in Azure (consolidamento) oppure replicare i database da una singola istanza di SQL Server a più istanze gestite tramite una relazione uno-a-uno tra un database e un'istanza gestita in qualsiasi area di Azure in tutto il mondo (deconsolazione). Quest'ultima opzione offre un modo efficiente per avvicinare rapidamente i carichi di lavoro ai clienti in qualsiasi area in tutto il mondo, che è possibile usare come repliche di sola lettura.

Eseguire la migrazione ad Azure

La funzionalità di collegamento facilita anche la migrazione da SQL Server a Istanza gestita di SQL, che abilita:

  • La migrazione con tempi di inattività più efficienti e minimi rispetto a tutte le altre soluzioni attualmente disponibili.
  • Migrazione online reale a Istanza gestita di SQL in qualsiasi livello di servizio.

Poiché la funzionalità di collegamento consente una migrazione con tempi di inattività minimi, è possibile eseguire la migrazione all'istanza gestita man mano che si gestisce il carico di lavoro primario online. Sebbene sia attualmente possibile ottenere migrazioni online al livello di servizio Per utilizzo generico con altre soluzioni, la funzionalità di collegamento è l'unica soluzione che consente migrazioni online reali al livello Business Critical .

Copiare dati in locale

Con SQL Server 2022 è possibile stabilire il collegamento da Istanza gestita di SQL a SQL Server, sbloccare scenari aggiuntivi, ad esempio creare una replica di database quasi in tempo reale all'esterno di Azure, testare i piani di continuità aziendale e soddisfare i requisiti di conformità. La definizione di un collegamento da Istanza gestita di SQL a SQL Server 2022 è attualmente in anteprima.

Backup automatizzati

Dopo aver replicato i database nel Istanza gestita di SQL di Azure, viene eseguito automaticamente il backup nell'archiviazione di Azure. È possibile ridurre i costi di gestione e funzionamento locali sfruttando al contempo l'affidabilità dei backup di Azure per i database replicati. È quindi possibile eseguire un ripristino temporizzato del database replicato in qualsiasi distribuzione Istanza gestita di SQL nella stessa area, come con qualsiasi altro backup automatizzato.

Replica di ripristino di emergenza passiva senza licenza

È possibile risparmiare sui costi di licenza vCore se si attiva il vantaggio di failover ibrido per il ripristino di emergenza passivo secondario solo per le istanze gestite di SQL che non hanno carichi di lavoro.

Per iniziare, vedere Replica passiva senza licenza.

Vantaggio dei costi

Se si designa una replica di istanza gestita solo per il ripristino di emergenza, Microsoft non addebita costi di licenza di SQL Server per i vCore usati dall'istanza secondaria. Tenere presente che l'istanza viene fatturata a una granularità oraria e si potrebbero comunque pagare costi di licenza per un'ora intera se si aggiorna il vantaggio di licenza durante l'ora.

Il vantaggio riflette in modo diverso il modello di fatturazione con pagamento in base al consumo e il Vantaggio Azure Hybrid. Per un modello di fatturazione con pagamento in base al consumo, i vCore vengono scontate nella fattura. Se si usa il Vantaggio Azure Hybrid per la replica passiva, il numero di vCore usati dalla replica secondaria viene restituito al pool di licenze.

Ad esempio, come cliente con pagamento in base al consumo, se sono stati assegnati 16 vCore all'istanza secondaria, viene visualizzato uno sconto per 16 vCore nella fattura se si designa l'istanza secondaria per il failover ibrido.

In un altro esempio, se si dispone di 16 licenze Vantaggio Azure Hybrid e l'istanza gestita di SQL secondaria usa 8 vCore, dopo aver designato l'istanza secondaria per il failover ibrido, vengono restituiti 8 vCore al pool di licenze da usare con altre distribuzioni SQL di Azure.

Per termini e condizioni precisi del vantaggio dei diritti di failover ibrido, vedere le condizioni di licenza di SQL Server online nella sezione "SQL Server – Diritti di failover".

Limiti

Quando si usa il collegamento, prendere in considerazione le limitazioni seguenti.

Le limitazioni di supporto delle versioni includono:

  • Non è possibile usare i client Windows 10 e 11 per ospitare l'istanza di SQL Server, perché non è possibile abilitare la funzionalità del gruppo di disponibilità AlwaysOn necessaria per il collegamento. Le istanze di SQL Server devono essere ospitate in Windows Server 2012 o versioni successive.
  • Le versioni da SQL Server 2008 a 2014 non sono supportate dalla funzionalità di collegamento, perché il motore SQL di queste versioni non dispone del supporto predefinito per i gruppi di disponibilità distribuiti necessari per il collegamento. Eseguire l'aggiornamento a una versione più recente di SQL Server per usare il collegamento.
  • La definizione di un collegamento da Istanza gestita di SQL a SQL Server è supportata solo con SQL Server 2022.

Le limitazioni della replica dei dati includono:

  • È possibile replicare solo i database utente. La replica dei database di sistema non è supportata.
  • La soluzione non replica gli oggetti a livello di server, i processi dell'agente o gli account di accesso utente da SQL Server a Istanza gestita di SQL.
  • Per SQL Server versioni 2016 e 2019, la replica di database utente da istanze di SQL Server a Istanza gestita di SQL distribuzioni è unidirezionale. I database utente di Istanza gestita di SQL distribuzioni non possono essere replicati nelle istanze di SQL Server. La replica bidirezionale con failback in un'istanza di SQL Server è disponibile solo per SQL Server 2022.
  • La configurazione di un collegamento da Istanza gestita di SQL a SQL Server in un database non è supportata per i database Istanza gestita di SQL già collegati.

Le limitazioni di configurazione includono:

  • Se in un server sono presenti più istanze di SQL Server, è possibile configurare un collegamento con ogni istanza, ma ogni istanza deve essere configurata per usare un endpoint di mirroring del database separato, con una porta dedicata per ogni istanza. Solo l'istanza predefinita deve usare la porta 5022 per l'endpoint del mirroring del database.
  • È possibile inserire un solo database in un singolo gruppo di disponibilità per un collegamento Istanza gestita. È tuttavia possibile replicare più database in una singola Istanza di SQL Server stabilendo più collegamenti.
  • Una singola istanza gestita supporta fino a 100 collegamenti da più istanze di SQL Server.
  • Un collegamento Istanza gestita può replicare un database di qualsiasi dimensione se rientra nelle dimensioni di archiviazione scelte della distribuzione del Istanza gestita di SQL di destinazione.
  • Istanza gestita'autenticazione dei collegamenti tra SQL Server e Istanza gestita di SQL è basata su certificati e disponibile solo tramite uno scambio di certificati. L'uso di autenticazione di Windows per stabilire il collegamento tra l'istanza di SQL Server e l'istanza gestita non è supportato.
  • Per stabilire un collegamento con Istanza gestita di SQL è supportato solo l'endpoint locale della rete virtuale.
  • Non è possibile usare endpoint pubblici o endpoint privati per stabilire il collegamento con l'istanza gestita.
  • I database con più file di log non possono essere replicati perché Istanza gestita di SQL non supporta più file di log.

Le limitazioni delle funzionalità includono:

  • I gruppi di failover non sono supportati con le istanze che usano la funzionalità di collegamento. Non è possibile stabilire un collegamento in un'istanza gestita che fa parte di un gruppo di failover e viceversa non è possibile configurare un gruppo di failover in un'istanza con un collegamento stabilito.
  • Se si usa Change Data Capture (CDC), il log shipping o un service broker con database replicati nell'istanza di SQL Server, quando viene eseguita la migrazione del database a una distribuzione Istanza gestita di SQL, durante un failover in Azure, i client devono connettersi usando il nome dell'istanza della replica primaria globale corrente. Queste impostazioni devono essere riconfigurate manualmente.
  • Se si usa la replica transazionale con un database in un'istanza di SQL Server in uno scenario di migrazione, durante il failover in Azure, la replica transazionale nella distribuzione Istanza gestita di SQL avrà esito negativo e deve essere riconfigurata manualmente.
  • Se si usano transazioni distribuite con un database replicato dall'istanza di SQL Server e, in uno scenario di migrazione, nel cutover nel cloud, le funzionalità distributed Transaction Coordinator non verranno trasferite. Non è possibile che il database migrato venga coinvolto nelle transazioni distribuite con l'istanza di SQL Server, perché la distribuzione Istanza gestita di SQL non supporta transazioni distribuite con SQL Server in questo momento. Per riferimento, Istanza gestita di SQL attualmente supporta transazioni distribuite solo tra altre istanze gestite. Per altre informazioni, vedere Transazioni distribuite tra database cloud.
  • Se si usa Transparent Data Encryption (TDE) per crittografare i database di SQL Server, è necessario esportare e caricare la chiave di crittografia del database da SQL Server in Azure Key Vault ed è necessario configurare anche l'opzione TDE BYOK in Istanza gestita di SQL prima di creare il collegamento.
  • Istanza gestita di SQL database crittografati con chiavi TDE gestite dal servizio non possono essere collegati a SQL Server. È possibile collegare un database crittografato a SQL Server solo se è stato crittografato con una chiave gestita dal cliente e il server di destinazione ha accesso alla stessa chiave usata per crittografare il database. Per altre informazioni, vedere Configurare TDE di SQL Server con Azure Key Vault.
  • Non è possibile stabilire un collegamento tra SQL Server e Istanza gestita di SQL se la funzionalità usata nell'istanza di SQL Server non è supportata nell'istanza gestita. Ad esempio:
    • I database con tabelle file e flussi di file non possono essere replicati, perché Istanza gestita di SQL non supporta tabelle file o flussi di file.
    • I database che usano OLTP in memoria possono essere replicati solo in Istanza gestita di SQL nellivello di servizio Business Critical, perché il livello di servizio Utilizzo generico non supporta OLTP in memoria. I database con più file OLTP in memoria non sono supportati da Istanza gestita di SQL e non possono essere replicati.

Tentativo di aggiungere una funzionalità non supportata a un database replicato in:

  • SQL Server 2019 e 2022 non riesce con un errore.
  • SQL Server 2016 causa l'interruzione del collegamento, che dovrà quindi essere eliminato e ricreato.

Per l'elenco completo delle differenze tra SQL Server e Istanza gestita di SQL, vedere Differenze T-SQL tra SQL Server e Istanza gestita di SQL di Azure.

Per altri scenari di replica e migrazione, prendere in considerazione: