Migrate SQL Server to Azure SQL Virtual Machine with DMS Online

Step 3 — Esecuzione del backup FULL iniziale

A questo punto siamo pronti per eseguire il primo vero step della migrazione: il backup FULL dei database verso Azure Blob Storage.

Questo backup rappresenta la base della migrazione. Tutto il processo si appoggia su questo primo dump completo, su cui poi verranno applicati i backup dei log per mantenere il database aggiornato.

Concetto chiave

Il backup FULL viene eseguito una sola volta all’inizio della migrazione.

Dopo questo, saranno i backup dei log a mantenere sincronizzato il database di destinazione.

Backup FULL verso Azure Blob Storage

Grazie alla credential configurata nello step precedente, possiamo eseguire direttamente il backup su Blob Storage utilizzando l’URL del container.

Se devi migrare più database, puoi automatizzare il processo con uno script che esegue il backup per tutti i database utente:

DECLARE @DBName NVARCHAR(256);
DECLARE @SQL NVARCHAR(MAX);

DECLARE db_cursor CURSOR FOR
SELECT name
FROM sys.databases
WHERE database_id > 4
  AND state_desc = 'ONLINE';

OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @DBName;

WHILE @@FETCH_STATUS = 0
BEGIN
    SET @SQL = N'BACKUP DATABASE ' 
             + QUOTENAME(@DBName) 
             + N'
TO URL = ''https://<StorageAccount>.blob.core.windows.net/backup/'
             + @DBName + N'/' + @DBName + N'_FULL.bak''
WITH INIT, COMPRESSION, CHECKSUM, STATS = 10;';

    PRINT @SQL;
    EXEC sp_executesql @SQL;

    FETCH NEXT FROM db_cursor INTO @DBName;
END;

CLOSE db_cursor;
DEALLOCATE db_cursor;

 

Verifica del backup

Una volta eseguito il backup, puoi verificare direttamente dal portale Azure che i file siano stati caricati correttamente.

Nel container dovresti vedere una struttura simile:

  • /backup/Database01/Database01_FULL.bak
  • /backup/Database02/Database02_FULL.bak

Se i file non compaiono, le cause più comuni sono:

  • SAS Token errato o scaduto
  • credential SQL non configurata correttamente
  • problemi di permessi sullo Storage Account

Considerazione pratica

Il backup FULL può richiedere tempo, soprattutto su database di grandi dimensioni. In ambienti reali conviene pianificare questo step in una finestra adeguata e verificare anche la banda disponibile verso Azure.

Nel mio caso, durante i test, è sempre il primo punto in cui si capisce se tutto è configurato correttamente: se il backup arriva su Blob senza problemi, siamo già a metà strada.