Convertire un database esistente in Hyperscale

Si applica a:Database SQL di Azure

È possibile convertire un database esistente in database SQL di Azure in Hyperscale usando il portale di Azure, il interfaccia della riga di comando di Azure, PowerShell o Transact-SQL.

Prerequisites

  • Per convertire un database che usa la replica geografica o fa parte di un gruppo di failover in Hyperscale, iniziare convertendo la replica primaria. La replica geografica secondaria viene convertita automaticamente. È possibile convertire un database non Hyperscale con replica geografica in Hyperscale usando T-SQL, API REST, PowerShell o interfaccia della riga di comando di Azure.

  • La conversione diretta dal livello di servizio Basic a Hyperscale non è supportata. Per eseguire questa conversione, modificare prima di tutto il database in qualsiasi livello di servizio diverso da Basic (ad esempio, Utilizzo generico) e quindi procedere con la conversione in Hyperscale.

  • Lo spostamento diretto di un database da un pool elastico con ridondanza della zona a un pool Hyperscale non con ridondanza della zona non è supportato. Per completare questa transizione, rimuovere innanzitutto il database dal pool elastico e convertirlo in un database autonomo. Disabilitare quindi la ridondanza della zona per il database. Al termine di questi passaggi, il database può essere aggiunto a un pool Hyperscale nuovo o esistente senza ridondanza della zona.

  • È possibile monitorare lo stato di avanzamento della conversione con T-SQL. Per eseguire comandi T-SQL nel database SQL di Azure, usare SQL Server Management Studio (SSMS),l'estensione MSSQL per Visual Studio Code, sqlcmd o lo strumento di query T-SQL preferito.

Convertire il database con repliche geografiche

Quando si converte un database in una relazione di replica geografica , il processo di conversione mantiene il collegamento di replica geografica. Sia i database primari che i database geo-secondari vengono convertiti in Hyperscale insieme.

  • È necessario avviare la conversione in Hyperscale convertendo la replica geografica primaria. Il tentativo di convertire una replica geografica secondaria genera un errore: una replica geografica secondaria 'database-name-placeholder' non può essere convertita in Hyperscale. Per convertire le repliche primarie e secondarie geografiche in Hyperscale, ripetere l'operazione nella replica primaria.
  • Ridurre il numero di repliche geo-secondarie a una per avviare il processo di conversione.
  • La creazione di una replica geografica di una replica geografica (nota anche come "concatenamento di repliche geografiche") non è supportata in Hyperscale. Se esiste una configurazione di replica geografica concatenata, rimuoverla prima di avviare la conversione in Hyperscale.
  • Non è possibile eseguire un failover pianificato mentre è in corso la conversione del database geo-primario in Hyperscale. È possibile eseguire un failover forzato su una replica secondaria geografica. Tuttavia, a seconda dello stato della conversione quando si verifica il failover forzato, il nuovo database primario geografico dopo il failover potrebbe usare il livello di servizio Hyperscale o il livello di servizio originale.
  • Se un database geo-primario si trova in un pool elastico, è possibile spostarlo in un pool elastico Hyperscale esistente come parte della conversione o impostarlo come database Hyperscale autonomo. Tuttavia, se un database geo-secondario si trova in un pool elastico, la conversione in Hyperscale lo sposta sempre all'esterno del pool. È possibile spostare il database geo-secondario in un pool elastico Hyperscale in un passaggio separato al termine della conversione.

Cutover

Il processo di conversione prevede due fasi: la conversione mentre il database è online e quindi il cutover nel nuovo database Hyperscale.

  • Il tempo necessario per spostare un database esistente in Hyperscale è costituito dal tempo necessario per copiare i dati e dal tempo necessario per riprodurre le modifiche apportate nel database di origine durante la copia dei dati. Anche se il tempo di copia dei dati viene ridimensionato approssimativamente con le dimensioni del database, la velocità effettiva della copia può variare a causa di fattori quali velocità effettiva della rete, larghezza di banda di I/O, latenza di archiviazione e carico temporaneo del servizio. È consigliabile eseguire la conversione in Hyperscale durante un periodo di attività di scrittura inferiore in modo che il tempo di riproduzione delle modifiche accumulate sia più breve. È consigliabile usare il cutover manuale per controllare la fase successiva.

  • È possibile scegliere quando si verifica il cutover - non appena il database è pronto o manualmente in un momento a scelta. Per impostazione predefinita, il processo di conversione in Hyperscale verrà tagliato automaticamente.

    • Se scegli di eseguire il cutover manualmente all'ora da te scelta, hai 24 ore per avviare un cutover manuale dal momento in cui il database è pronto per il cutover. È possibile avviare un cutover manuale tramite il portale di Azure, l'interfaccia della riga di comando di Azure, PowerShell o T-SQL.
  • Mentre il database è pronto per il cutover, il sistema continua a copiare e riprodurre le modifiche apportate nel database di origine, ma passa dalla copia asincrona alla copia sincrona. Questa copia sincrona può aumentare la latenza di scrittura nei carichi di lavoro a elevato utilizzo di scrittura fino a quando non si verifica il cutover.

  • Durante il cutover finale a Hyperscale, le applicazioni riscontrano solo un breve periodo di inattività, in genere inferiore a un minuto.

È possibile monitorare più fasi nel processo di conversione nel portale di Azure (nella pagina di creazione di report sullo stato), tramite interfaccia della riga di comando di Azure (az sql db op list), PowerShell (Get-AzSqlDatabaseActivity) o T-SQL (sys.dm_operation_status).

Quando si converte un database dai livelli di servizio Premium o Business Critical a Hyperscale, il processo disconnette le connessioni client esistenti durante la fase 1. Questa disconnessione è simile alla disconnessione che si verifica quando si ridimensiona il database tra i livelli di servizio. Le applicazioni devono essere progettate per gestire correttamente le interruzioni di connettività temporanee implementando la logica di ripetizione dei tentativi, come descritto in Logica di ripetizione dei tentativi per gli errori temporanei.

Convertire un database in Hyperscale

Per convertire un database SQL di Azure esistente in Hyperscale, identificare prima l'obiettivo del servizio di destinazione.

Esaminare i limiti delle risorse per i database singoli se non si è certi di quale obiettivo di servizio sia adatto per il database. In molti casi, è possibile scegliere un obiettivo di servizio con lo stesso numero di vCore e la stessa generazione hardware del database originale. Se necessario, è possibile modificare l'obiettivo di servizio in un secondo momento con tempi di inattività minimi. La fatturazione per Hyperscale inizia solo dopo la transizione.

Selezionare la scheda per il metodo preferito per convertire il database:

Il portale di Azure consente di eseguire la conversione in Hyperscale modificando il livello di servizio per il database.

Screenshot del pannello calcolo e archiviazione di un database nel database SQL di Azure. L'elenco a discesa del livello di servizio viene espanso, visualizzando l'opzione per il livello di servizio Hyperscale.

  1. Passare al database da convertire nel portale di Azure.
  2. Nella barra di spostamento a sinistra selezionare Calcolo e archiviazione.
  3. Selezionare l'elenco a discesa Livello di servizio per espandere le opzioni per i livelli di servizio.
    1. Se si usa l'offerta gratuita del database SQL di Azure, selezionare il pulsante per rimuovere l'offerta di database gratuito. Viene quindi visualizzato l'elenco a discesa Livello di servizio .
  4. Selezionare Hyperscale nell'elenco a discesa.
  5. Esaminare il livello di calcolo e scegliere Provisioning o Serverless.
  6. Esaminare la modalità di Cutover, una scelta specifica per la conversione a Hyperscale.
    • Il passaggio si verifica dopo che il database è stato preparato per la conversione a Hyperscale. La modalità cutover determina quando la connettività al database SQL di Azure esistente viene interrotta momentaneamente per la conversione in Hyperscale:
      • Il cutover automatico avviene non appena il database Hyperscale è pronto.
      • Il cutover manuale richiede di avviare il cutover all'ora desiderata nel portale di Azure. Questa opzione è più utile per programmare la transizione in modo da minimizzare le interruzioni aziendali.
  7. Esaminare la configurazione hardware elencata. Se necessario, selezionare Modifica configurazione per selezionare la configurazione hardware appropriata per il carico di lavoro.
  8. Selezionare il dispositivo di scorrimento vCores se si vuole modificare il numero di vCore disponibili per il database nel livello di servizio Hyperscale.
  9. Selezionare il cursore Repliche secondarie a disponibilità elevata se si desidera modificare il numero di repliche nel livello di servizio Hyperscale.
  10. Selezionare Applica.
  11. Monitorare la conversione nel portale di Azure.
    1. Passare al database nel portale di Azure.
    2. Nella barra di spostamento a sinistra selezionare Panoramica.
    3. Esaminare la sezione Notifiche nella parte inferiore del riquadro destro. Se le operazioni sono in corso, viene visualizzata una finestra di notifica.
    4. Selezionare la casella di notifica per visualizzare i dettagli.
    5. Viene visualizzato il riquadro Operazioni in corso . Esaminare i dettagli delle operazioni in corso.

Se è stato selezionato Cutover manuale, il portale di Azure visualizza un pulsante Cutover quando è pronto.

Screenshot del portale di Azure che mostra il pulsante Cutover in una conversione Hyperscale.