Backup e ripristino di database di SQL Server in LinuxBackup and restore SQL Server databases on Linux

In questo argomento si applica a: SìSQL Server in LinuxnonDatabase SQL di AzurenonAzure SQL Data Warehousenon Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server on LinuxnoAzure SQL DatabasenoAzure SQL Data WarehousenoParallel Data Warehouse

È possibile eseguire i backup dei database SQL Server 2017 in Linux con gli stessi strumenti come altre piattaforme.You can take backups of databases from SQL Server 2017 on Linux with the same tools as other platforms. In un server Linux, è possibile utilizzare sqlcmd per connettersi a SQL Server ed eseguire il backup.On a Linux server, you can use sqlcmd to connect to the SQL Server and take backups. Da Windows, è possibile connettersi a SQL Server in Linux ed eseguire i backup con l'interfaccia utente.From Windows, you can connect to SQL Server on Linux and take backups with the user interface. La funzionalità di backup è lo stesso tra le piattaforme.The backup functionality is the same across platforms. Ad esempio, è possibile eseguire il backup database in locale, in unità remote o a servizio di archiviazione Blob di Microsoft Azure.For example, you can backup databases locally, to remote drives, or to Microsoft Azure Blob storage service.

Backup di un databaseBackup a database

Nell'esempio seguente sqlcmd si connette all'istanza locale di SQL Server e richiede una procedura completa di backup di un database utente denominato demodb.In the following example sqlcmd connects to the local SQL Server instance and takes a full backup of a user database called 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, verrà richiesta una password SQL Server.When you run the command, SQL Server will prompt for a password. Dopo avere immesso la password, la shell verrà restituiti i risultati dello stato di avanzamento di backup.After you enter the password, the shell will return the results of the backup progress. Esempio:For example:

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 transazioniBackup the transaction log

Se il database nel modello di recupero con registrazione completa, è anche possibile rendere i backup del log delle transazioni per le opzioni di ripristino più granulari.If your database is in the full recovery model, you can also make transaction log backups for more granular restore options. Nell'esempio seguente, sqlcmd si connette all'istanza locale di SQL Server ed esegue il backup un log delle transazioni.In the following example, sqlcmd connects to the local SQL Server instance and takes a transaction log backup.

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"

Ripristinare un databaseRestore a database

Nell'esempio seguente sqlcmd si connette all'istanza locale di SQL Server e ripristina il database demodb.In the following example sqlcmd connects to the local instance of SQL Server and restores the demodb database. Si noti che il NORECOVERY opzione viene utilizzata per consentire ulteriori ripristini di file di backup del log.Note that the NORECOVERY option is used to allow for additional restores of log file backups. Se non si intende ripristinare i file di log aggiuntivi, rimuovere il NORECOVERY opzione.If you do not plan to restore additional log files, remove the NORECOVERY option.

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"

Suggerimento

Se accidentalmente, utilizzare l'opzione NORECOVERY ma non dispone di backup di file di log aggiuntivi, eseguire il comando RESTORE DATABASE demodb senza parametri aggiuntivi.If you accidentally use NORECOVERY but do not have additional log file backups, run the command RESTORE DATABASE demodb with no additional parameters. Questo termine del ripristino e lascia il database operativo.This will finish the restore and leave your database operational.

Ripristino del log delle transazioniRestore the transaction log

Il comando seguente ripristina il backup del log delle transazioni precedenti.The following command restores the previous transaction log backup.

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)Backup and Restore with SQL Server Management Studio (SSMS)

È possibile utilizzare SSMS da un computer Windows per connettersi a un database di Linux e creare un backup tramite l'interfaccia utente.You can use SSMS from a Windows computer to connect to a Linux database and take a backup through the user-interface.

Nota

Utilizzare la versione più recente di SSMS per connettersi a SQL Server.Use the latest version of SSMS to connect to SQL Server. Per scaricare e installare la versione più recente, vedere scaricare SSMS.To download and install the latest version, see Download SSMS. Per ulteriori informazioni sull'utilizzo di SQL Server Management Studio, vedere utilizzare SSMS per gestire SQL Server in Linux.For more information on how to use SSMS, see Use SSMS to Manage SQL Server on Linux.

I passaggi seguenti eseguendo un backup con SQL Server Management Studio.The following steps walk through taking a backup with SSMS.

  1. Avviare SQL Server Management Studio e connettersi al server in SQL Server 2017 in Linux.Start SSMS and connect to your server in SQL Server 2017 on Linux.

  2. In Esplora oggetti fare clic sul database, fare clic su attività, quindi fare clic su eseguire il backup... .In Object Explorer, right-click on your database, Click Tasks, and then click Back Up....

  3. Nel Backup dei Database finestra di dialogo, verificare i parametri e le opzioni e fare clic su OK.In the Backup Up Database dialog, verify the parameters and options, and click OK.

SQL Server consente di completare il backup del database.SQL Server completes the database backup.

Ripristino con SQL Server Management Studio (SSMS)Restore with SQL Server Management Studio (SSMS)

I passaggi seguenti consentono di eseguire il ripristino di un database con SQL Server Management Studio.The following steps walk you through restoring a database with SSMS.

  1. In SQL Server Management Studio fare clic sul database e fare clic su ripristino di database... .In SSMS right-click Databases and click Restore Databases....

  2. In origine fare clic su dispositivo: e quindi fare clic sui puntini di sospensione (...).Under Source click Device: and then click the ellipses (...).

  3. Individuare il file di backup del database e fare clic su OK.Locate your database backup file and click OK.

  4. In piano di ripristino, verificare le impostazioni e i file di backup.Under Restore plan, verify the backup file and settings. Scegliere OK.Click OK.

  5. SQL Server Ripristina il database.SQL Server restores the database.

Vedere ancheSee also