Ripristinare un database in SQL Server 2022 da Istanza gestita di SQL di Azure

Si applica a: Istanza gestita di SQL di Azure SQL

Questo articolo illustra come ripristinare un backup del database da Istanza gestita di SQL di Azure a SQL Server 2022.

Panoramica

L'allineamento del formato di database tra Istanza gestita di SQL e SQL Server 2022 consente di copiare o spostare facilmente i database dall'istanza gestita a un'edizione Enterprise, Developer o Standard di SQL Server 2022 ospitata in locale, in macchine virtuali in Azure o in altri cloud.

Il ripristino di database da istanze gestite a istanze di SQL Server 2022 sblocca i seguenti scenari:

  • Garantisce la mobilità dei database tra Istanza gestita di SQL e i prodotti basati su SQL Server.
  • Fornisce copie dei database ai clienti e ad altre parti idonee.
  • Aggiorna gli ambienti esterni a Istanza gestita di SQL.

La possibilità di ripristinare backup completi di sola copia dei database da Istanza gestita di SQL a SQL Server 2022 è disponibile per impostazione predefinita in tutte le istanze esistenti e in quelle nuove distribuite.

Importante

La possibilità di ripristinare backup completi di sola copia dei database da Istanza gestita di SQL a SQL Server 2022 sarà disponibile fino al termine del supporto Mainstream per SQL Server 2022.

Eseguire un backup in Istanza gestita di SQL

Per prima cosa, creare le credenziali per accedere all'account di archiviazione dall'istanza, eseguire un backup di sola copia del database e quindi archiviarlo.

È possibile creare le credenziali usando un'identità gestita o un token di firma di accesso condiviso (SAS).

Un'identità gestita è una funzionalità di Microsoft Entra ID (precedentemente Azure Active Directory) che offre istanze di servizi di Azure, ad esempio, Istanza gestita di SQL di Azure, con un'identità gestita automaticamente in Microsoft Entra ID, l'identità gestita assegnata dal sistema.

È possibile usare questa identità per autorizzare le richieste di accesso ai dati ad altre risorse di Azure, inclusi gli account di archiviazione. I servizi, ad esempio, Istanza gestita di SQL di Azure, dispongono di un'identità gestita assegnata dal sistema e possono avere anche una o più identità gestite assegnate dall'utente. È possibile usare identità gestite assegnate dal sistema o identità gestite assegnate dall'utente per autorizzare le richieste.

Prima che l'amministratore di archiviazione di Azure scriva un file di backup in un account di archiviazione, deve concedere le autorizzazioni all'identità gestita per scrivere i dati. La concessione di autorizzazioni all'identità gestita dell'istanza viene eseguita allo stesso modo che per qualsiasi altro utente di Microsoft Entra. Ad esempio:

  1. Nel portale di Azure, dal riquadro Controllo di accesso (IAM) di un account di archiviazione, selezionare Aggiungi assegnazione di ruolo.

  2. Selezionare il ruolo predefinito collaboratore ai dati del BLOB di archiviazione di Controllo degli accessi in base al ruolo (RBAC) di Azure. In questo modo, viene fornito l'accesso in lettura/scrittura all'identità gestita per i contenitori di Archiviazione BLOB di Azure necessari.

    Invece di concedere all'identità gestita il ruolo collaboratore ai dati del BLOB di archiviazione di Controllo degli accessi in base al ruolo di Azure, è possibile concedere autorizzazioni più granulari. Per altre informazioni, vedere Impostare gli ACL in Azure Data Lake Storage Gen2.

  3. Nella pagina successiva, in Assegna accesso a, selezionare Identità gestita.

  4. Selezionare Seleziona membri, quindi, nell'elenco a discesa Identità gestita, selezionare l'identità gestita appropriata. Per altre informazioni, vedere Assegnare ruoli di Azure usando il portale di Azure.

A questo punto, la creazione delle credenziali con ambito database per l'autenticazione dell'identità gestita è semplice.

Nell'esempio seguente, si noti che Managed Identity è una stringa hardcoded ed è necessario sostituire il nome dell'account di archiviazione generico con il nome dell'account di archiviazione effettivo:

CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<containername>] 
WITH IDENTITY = 'MANAGED IDENTITY'  

Eseguire quindi un backup COPY_ONLY del database eseguendo il seguente comando T-SQL di esempio:

BACKUP DATABASE [SampleDB]
TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH COPY_ONLY

Eseguire il ripristino in SQL Server

Ripristinare il database in SQL Server usando l'opzione WITH MOVE del comando T-SQL RESTORE DATABASE e fornendo percorsi di file espliciti per i file nel server di destinazione.

Per ripristinare il database in SQL Server, eseguire il seguente comando T-SQL di esempio con percorsi di file appropriati per l'ambiente:

RESTORE DATABASE [SampleDB]
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH
MOVE 'data_0' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_data_0.mdf',
MOVE 'log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDBlog.ldf',
MOVE 'XTP' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_xtp.xtp'

Nota

Per ripristinare i database crittografati inattivi usando Transparent Data Encryption (TDE), l'istanza di destinazione di SQL Server deve avere accesso alla stessa chiave usata per proteggere il database di origine tramite il Connettore SQL Server per Azure Key Vault. Per informazioni dettagliate, vedere Configurare TDE di SQL Server con Azure Key Vault.

Considerazioni

Quando si ripristina un database in SQL Server, tenere presente quanto segue:

  • È necessario usare il qualificatore WITH MOVE e fornire percorsi espliciti per i file di dati.
  • I database che sono crittografati con chiavi TDE gestite dal servizio non possono essere ripristinati in SQL Server. È possibile ripristinare un database crittografato in 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 ulteriori informazioni, vedere Configurare TDE di SQL Server con Azure Key Vault.
  • Questa funzionalità è disponibile solo per le istanze con i criteri di aggiornamento di SQL Server 2022. Non sarà possibile ripristinare il backup del database in SQL Server 2022 da un'istanza con i criteri di aggiornamento sempre aggiornati.

Passaggi successivi