Eseguire la migrazione di database usando le funzionalità di backup e ripristino native

Completato

Molti professionisti di SQL Server considerano la migrazione con un processo di backup e ripristino il metodo più semplice di migrazione.

Microsoft Archiviazione BLOB di Azure supporta due tipi di BLOB: BLOB in blocchi e pagine. Per SQL Server 2016 e versioni successive, i BLOB in blocchi sono preferiti. La scelta tra i BLOB a blocchi e di pagine dipende dal tipo di credenziali usate- Firma di accesso condiviso per BLOB in blocchi e chiave di archiviazione per il BLOB di pagine.

Il backup nel BLOB in blocchi offre vantaggi come l'autorizzazione più sicura, le prestazioni di backup migliorate e il supporto per i backup di database di dimensioni maggiori rispetto al BLOB di pagine.

Se si sceglie di eseguire un backup completo del database in un file, è possibile trasferire i file di backup locali in una macchina virtuale di Azure tramite Esplora dati di Azure o l'utilità della riga di comando AzCopy.

Backup e ripristino con il servizio di archiviazione BLOB di Azure in SQL Server

Il backup in un URL richiede un account di archiviazione di Azure e usa il servizio di archiviazione Blob di Azure. Nell'account di archiviazione sono presenti contenitori all'interno dei quali sono archiviati i file BLOB. A differenza di un percorso sul disco locale, il percorso di un file di backup ha un aspetto simile a https://{AccountName}.blob.core.windows.net/{ContainerName}/MyDatabase.bak. Nel contenitore è possibile aggiungere più nomi di cartella per semplificare l'identificazione delle copie di backup, ad esempio FULL, DIFF, LOG.

Per eseguire il backup in un URL o ripristinarlo da un URL, è necessario stabilire un percorso di autenticazione tra l'istanza di SQL Server e Azure. Tenere presente che, all'interno di una macchina virtuale di Azure, SQL Server non sa di essere in esecuzione in Azure.

Quando si crea una credenziale di SQL Server, sono disponibili due opzioni per l’autenticazione:

  • Il nome e la chiave di accesso dell’account di archiviazione di Azure che archivia il backup come BLOB di pagine
  • Firma di accesso condiviso che archivia il backup come BLOB in blocchi. Per i database di dimensioni maggiori, è possibile eseguire il backup in più BLOB in blocchi.

Suggerimento

I backup compressi del database sono consigliati per database di dimensioni maggiori.

Ripristinare un backup da un URL è semplice quanto ripristinarlo da un disco o da una condivisione di rete. Nell'interfaccia utente di SQL Server Management Studio, scegliere URL come tipo di supporto di backup nella procedura guidata. Se si usa Transact-SQL, anziché specifica FROM DISK, scegli FROM URL aggiungendo il percorso e i nomi dei file di backup appropriati.

Nota

I set di backup con striping sono supportati e consigliati per le prestazioni. Inoltre, i backup di striping sono inferiori a 200 GB per evitare il limite di blocchi.

Esegui l’istruzione seguente, in particolare, per il backup di un log delle transazioni.

BACKUP LOG contoso 
TO URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso202003271200.trn' 

Esegui l'istruzione seguente per ripristinare un backup di database completo senza tuttavia recuperarlo, in modo che sia possibile applicare un backup differenziale o del log delle transazioni.

RESTORE DATABASE contoso 
FROM URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso20200327.bak' 
WITH NORECOVERY