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.
