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

Si applica a:Istanza gestita di SQL di Azure

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

Panoramica

L'allineamento del formato del 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 gli scenari seguenti:

  • Garantisce la mobilità dei database tra Istanza gestita di SQL e prodotti basati su SQL Server.
  • Fornisce copie di database ai clienti e ad altre parti idonee.
  • Aggiorna gli ambienti all'esterno di 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 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 alla fine del supporto Mainstream per SQL Server 2022.

Eseguire un backup in Istanza gestita di SQL

Creare prima di tutto una credenziale 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.You can create your credential by using a managed identity or a shared access signature (SAS).

Un'identitàgestita è una funzionalità di Microsoft Entra ID (in precedenza Azure Active Directory) che fornisce 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. Servizi come Istanza gestita di SQL di Azure hanno 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 delle autorizzazioni all'identità gestita dell'istanza viene eseguita allo stesso modo della concessione delle autorizzazioni a qualsiasi altro utente di Microsoft Entra. Ad esempio:

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

  2. Selezionare il ruolo predefinito Controllo degli accessi in base al ruolo di Controllo degli accessi in base al ruolo di Azure Archiviazione Collaboratore ai dati BLOB. 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 Di controllo degli accessi in base al ruolo di Azure Archiviazione Collaboratore ai dati BLOB, è possibile concedere autorizzazioni più granulari. Per altre informazioni, vedere Impostare gli elenchi di controllo di accesso in Azure Data Lake Archiviazione Gen2.

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

  4. Scegliere Seleziona membri e 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.

Ora, 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 COPY_ONLY backup del database eseguendo il comando T-SQL di esempio seguente:

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 RESTORE DATABA edizione Standard comando T-SQL e fornendo percorsi di file espliciti per i file nel server di destinazione.

Per ripristinare il database in SQL Server, eseguire il comando T-SQL di esempio seguente 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 tramite 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 Connessione or di SQL Server per Azure Key Vault. Per informazioni dettagliate, vedere Configurare TDE di SQL Server con AKV.

Considerazioni

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

  • È necessario usare il WITH MOVE qualificatore e fornire percorsi espliciti per i file di dati.
  • I database 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 altre informazioni, vedere Configurare TDE di SQL Server con Azure Key Vault.
  • In futuro, alcune funzionalità potrebbero essere introdotte per Istanza gestita di SQL di Azure che richiedono modifiche al formato del database, rendendo i backup incompatibili con SQL Server 2022. L'accesso a tali funzionalità richiederà il consenso esplicito.

Passaggi successivi