Backup e ripristino di database SQL Server in Linux

Si applica a:SQL Server su Linux

Puoi fare il backup dei database SQL Server su Linux in molti modi. Su un server Linux, puoi usarlo sqlcmd per connetterti a SQL Server e fare backup dei database. Da Windows, puoi connetterti a SQL Server in Linux e fare il backup dei database con l'interfaccia utente. La funzionalità di backup è identica in tutte le piattaforme. Ad esempio, puoi fare il backup dei database localmente, su dischi remoti, o su SQL Server per un backup su URL per Archiviazione BLOB di Azure.

Importante

SQL Server in Linux supporta solo il backup su Archiviazione BLOB di Azure con blob a blocchi. Usare una chiave di archiviazione per il backup e il ripristino si usa un blob di pagina, che non è supportato. Usa invece una firma di accesso condiviso (SAS). Per informazioni sui "block blob" e "page blob", vedere Backup in "block blob" vs. "page blob".

Eseguire il backup di un database

Nell'esempio seguente si sqlcmd connette all'istanza di SQL Server locale ed esegue un backup completo di un database utente denominato demodb.

sqlcmd -S localhost -U sa -Q "BACKUP DATABASE [demodb] TO DISK = N'/var/opt/mssql/data/demodb.bak' WITH NOFORMAT, NOINIT, NAME = 'demodb-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

Quando si esegue il comando, SQL Server richiede una password. Dopo aver inserito la password, la shell restituisce i risultati del progresso del backup. Per esempio:

Password:
10 percent processed.
21 percent processed.
32 percent processed.
40 percent processed.
51 percent processed.
61 percent processed.
72 percent processed.
80 percent processed.
91 percent processed.
Processed 296 pages for database 'demodb', file 'demodb' on file 1.
100 percent processed.
Processed 2 pages for database 'demodb', file 'demodb_log' on file 1.
BACKUP DATABASE successfully processed 298 pages in 0.064 seconds (36.376 MB/sec).

Eseguire il backup del log delle transazioni

Se il tuo database è nel modello completo di recupero, puoi anche fare il backup del registro delle transazioni per opzioni di ripristino più dettagliate. Nell'esempio seguente si sqlcmd connette all'istanza di SQL Server locale ed esegue un backup del log delle transazioni.

sqlcmd -S localhost -U sa -Q "BACKUP LOG [demodb] TO DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak' WITH NOFORMAT, NOINIT, NAME = N'demodb_LogBackup', NOSKIP, NOREWIND, NOUNLOAD, STATS = 5"

Ripristina il database

Nell'esempio seguente si sqlcmd connette all'istanza locale di SQL Server e ripristina il database demodb. L'opzione NORECOVERY consente ulteriori ripristini dei backup dei file di log. Se non si prevede di ripristinare ulteriori file di log, rimuovere l'opzione NORECOVERY.

sqlcmd -S localhost -U sa -Q "RESTORE DATABASE [demodb] FROM DISK = N'/var/opt/mssql/data/demodb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, NORECOVERY, STATS = 5"

Tip

Se usi NORECOVERY per errore ma non hai backup aggiuntivi dei file di log, esegui il comando RESTORE DATABASE demodb senza parametri aggiuntivi. Questo comando completa il ripristino e lascia il database operativo.

Ripristinare il log delle transazioni

Il comando seguente ripristina il backup del log delle transazioni precedente.

sqlcmd -S localhost -U sa -Q "RESTORE LOG demodb FROM DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak'"

Backup e ripristino con SQL Server Management Studio (SSMS)

Puoi utilizzare SQL Server Management Studio (SSMS) da un computer Windows per collegarti a un database Linux e fare un backup tramite l'interfaccia utente.

Note

Installare la versione più recente di SQL Server Management Studio (SSMS). Per ulteriori informazioni sull'uso di SSMS, vedere Usare SQL Server Management Studio in Windows per gestire SQL Server in Linux.

La procedura seguente illustra in dettaglio l'esecuzione di un backup con SSMS.

  1. Avvia SSMS e connettiti all'istanza di SQL Server su Linux.

  2. In Esplora oggetti, clicca con il tasto destro sul database, seleziona Task e poi seleziona Backup....

  3. Nella finestra di dialogo Backup Database, verifica i parametri e le opzioni, e seleziona OK.

SQL Server completerà il backup del database.

Eseguire il ripristino con SQL Server Management Studio (SSMS)

La procedura seguente illustra in dettaglio il ripristino di un database con SSMS.

  1. In SSMS, clicca con il tasto destro su Database e seleziona Ripristina database....

  2. In Origine, selezionare Dispositivo: e poi selezionare i puntini di sospensione (...).

  3. Individuare il file di backup del database e selezionare OK.

  4. In Piano di ripristino verificare il file e le impostazioni del backup. Seleziona OK.

  5. SQL Server ripristina il database.

Contribuire alla documentazione di SQL

Sei a conoscenza che puoi modificare tu stesso il contenuto SQL? In tal caso, non solo contribuisci a migliorare la documentazione, ma vieni anche riconosciuto come collaboratore della pagina.

Per altre informazioni, vedere Modifica la documentazione di Microsoft Learn.