Tecniche di backup e ripristino dei database SQL

Microsoft SQL Server è un sistema di gestione professionale utilizzato per manipolare e interagire con i dati presenti nei database relazionali. Per molte organizzazioni, un database rappresenta solitamente una componente fondamentale dell’infrastruttura IT o di un progetto aziendale. Per questo motivo, il backup del database SQL è essenziale per evitare la perdita di dati e i tempi di inattività dei servizi critici.

Questo articolo del blog spiega come eseguire il backup di Microsoft SQL Server utilizzando diversi metodi, compresi gli strumenti nativi, e come successivamente ripristinare i dati del database.

Backup per Microsoft 365

Backup per Microsoft 365

Utilizza la soluzione NAKIVO per eseguire il backup dei dati di Microsoft 365 in Exchange Online, Teams, OneDrive e SharePoint Online, garantendo flussi di lavoro ininterrotti e zero tempi di inattività.

Tipi di backup in SQL Server

In Microsoft SQL Server, i backup sono fondamentali per proteggere i dati e garantire il ripristino delle informazioni in caso di perdita di dati, guasti hardware o altri eventi critici. SQL Server supporta diversi tipi di backup, ciascuno dei quali ha uno scopo specifico. I principali tipi di backup in MS SQL Server sono:

  • Backup completo
  • Backup differenziale
  • Backup del log delle transazioni
  • Backup dei file
  • Backup “solo copia”

Backup completo

Un backup completo di SQL Server crea una copia dell’intero database MS SQL. Si tratta del tipo di backup più semplice e diretto disponibile, poiché include tutti gli oggetti e i dati presenti nel database relazionale. Altri tipi di backup di Microsoft SQL Server utilizzano il backup completo come base per ogni altro tipo di backup.

Un backup completo di SQL Server rappresenta una copia integrale contenente tutti gli elementi del database, quali tabelle, procedure, funzioni, viste, indici e altro ancora. Inoltre, include una parte del log delle transazioni. Ciò semplifica il ripristino del database, garantendo che esso venga riportato esattamente allo stato in cui si trovava al momento del backup.

Questo approccio offre la forma più semplice di ripristino del database, poiché tutti i contenuti del database sono racchiusi in un unico backup.

Le caratteristiche principali di un backup completo di SQL Server sono:

  • Un backup completo acquisisce l’intero database, inclusi tutti i dati e gli oggetti.
  • È il tipo di backup più completo e costituisce la base per altri tipi di backup.
  • I backup completi sono essenziali per il ripristino completo del database.

Backup differenziale

Un backup differenziale in SQL Server acquisisce in modo selettivo i dati degli estenti del database modificati dall’ultimo backup completo, utilizzando un backup completo come punto di partenza. Questo tipo di backup include le modifiche agli oggetti dello schema, ai file di log e ad altri dati, ottimizzando i tempi e l’efficienza dello spazio di archiviazione, garantendo al contempo il backup completo delle modifiche apportate al server. Per contrassegnare gli estenti modificati in vista di un backup differenziale vengono utilizzati dei flag speciali.

Un backup differenziale del database rappresenta le modifiche cumulative apportate dall’ultimo backup completo, il che può comportare una dimensione ridotta o considerevole a seconda dei volumi delle transazioni recenti.

Poiché un backup differenziale non include ogni singolo elemento, la sua esecuzione è generalmente più rapida rispetto a quella di un backup completo. Catturando lo stato degli oggetti del database modificati al momento della creazione, un backup differenziale del database rappresenta dati diversi in ogni backup successivo quando si crea una serie di backup differenziali per un database aggiornato frequentemente.

Man mano che queste copie di backup aumentano di dimensioni, il ripristino di un backup differenziale può prolungare notevolmente il tempo necessario per il ripristino. Di conseguenza, è consigliabile avviare periodicamente un nuovo backup completo a intervalli predefiniti per stabilire una nuova base differenziale per i dati.

In sintesi, le caratteristiche principali del backup differenziale di SQL Server sono:

  • Un backup differenziale acquisisce solo le modifiche apportate al database dall’ultimo backup completo.
  • Include tutte le modifiche apportate a un database dall’ultimo backup completo, non solo quelle effettuate dall’ultimo backup differenziale.
  • I backup differenziali possono ridurre il tempo necessario per ripristinare un database rispetto al ripristino effettuato esclusivamente da backup completi.

Per saperne di più su tipi di backup completo, differenziale e incrementale e comprendere meglio le loro differenze.

Backup del log delle transazioni

Un backup del log delle transazioni in Microsoft SQL Server comprende tutte le transazioni avvenute dall’ultimo backup del log delle transazioni, facilitando il ripristino del database a un punto specifico nel tempo. Come suggerisce il nome, un backup del log si concentra sul backup dei log delle transazioni e si applica esclusivamente ai modelli di ripristino completo o con registrazione in blocco. I file di log delle transazioni mantengono una serie di registrazioni che documentano la cronologia delle modifiche ai dati in un database. Il backup del log delle transazioni include tutti i record di log non coperti dal backup precedente.

In sostanza, un backup del log delle transazioni comprende tutte le modifiche apportate al database ed è particolarmente necessario quando si utilizza il modello di ripristino completo o con registrazione in blocco per troncare il log. È importante sapere che i backup consecutivi del log delle transazioni non duplicano i dati e che le prestazioni non subiscono alcuna variazione durante l’esecuzione di un backup del log delle transazioni. Pertanto, è possibile eseguire questa operazione anche durante i periodi di carico di lavoro elevato.

Le funzioni principali dei backup del log delle transazioni in Microsoft SQL Server sono:

  • I backup del log delle transazioni acquisiscono le modifiche apportate al log delle transazioni dall’ultimo backup del log.
  • Consentono il ripristino a un punto specifico nel tempo e sono fondamentali per mantenere la coerenza dei dati.
  • Utilizzati in combinazione con i backup completi e differenziali per creare una strategia di backup completa.

Backup di file e gruppi di file

Il backup dei file consente di eseguire il backup di ogni singolo file in modo indipendente, anziché richiedere il backup dell’intero database. Ciò risulta utile quando per il database sono stati creati più file di dati.

Uno scenario che giustifica questo tipo di backup è la gestione di file di dimensioni eccezionalmente grandi che richiedono un’attenzione particolare in termini di backup. L’esecuzione di un backup di file può avvenire tramite T-SQL o SSMS. Tuttavia, se il database è costituito prevalentemente da un unico file di dati, questa opzione potrebbe non essere adatta.

Le funzioni principali del backup di file in MS SQL sono:

  • Questo tipo di backup consente di eseguire il backup di singoli file di database o gruppi di file.
  • Utile quando è necessario eseguire il backup selettivo di parti specifiche di un database.
  • È inoltre possibile utilizzare i backup di file/gruppi di file per ripristini parziali.

Backup di sola copia

Un backup di sola copia per MS SQL Server opera indipendentemente dalla sequenza di backup convenzionale, creando un backup senza influire sui backup originali, sulle sequenze di backup o sui processi di ripristino. Un backup di sola copia è utile per sperimentare modifiche alle informazioni di cui è stato eseguito il backup senza influire sul dataset primario, consentendo la creazione di un backup senza interrompere i protocolli generali di backup e ripristino del database. Si noti che un backup di sola copia (per i backup completi) non può essere utilizzato per creare backup differenziali.

Il vantaggio principale di un backup “solo copia” risiede nel fatto che non interferisce con la sequenza di backup regolare e con i processi di ripristino standard. In genere, la maggior parte dei metodi di backup di MS SQL Server ha un impatto sul database e sulle procedure di ripristino. Utilizzando i backup “solo copia”, i team IT possono creare backup che rimangono indipendenti dai backup originali e dai processi di ripristino. È fondamentale notare che i backup “solo copia” non consentono la registrazione centralizzata della cronologia dei backup.

A meno che non si utilizzi il backup “solo copia” per il backup completo, il successivo backup differenziale potrebbe risentirne. La differenza fondamentale tra un backup completo e un backup completo “solo copia” risiede nel fatto che quest’ultimo non interrompe la catena differenziale. È importante sottolineare che nessuno di questi metodi interrompe la catena dei log, poiché nessuno dei due tronca il file di log.

Per quanto riguarda i backup dei log, applicabili ai modelli di ripristino completo e bulk-log, lo scopo di un backup dei log “solo copia” è quello di acquisire il punto di archiviazione dei log esistente. Sebbene venga utilizzato raramente, un backup dei log “solo copia” può essere utile per un ripristino online in determinate situazioni.

Le caratteristiche principali di un backup “solo copia” di MS SQL sono:

  • Un backup “solo copia” non influisce sulla normale sequenza di backup. Si tratta di un backup aggiuntivo eseguito indipendentemente dalla catena di backup regolare.
  • Utile per creare backup per scopi specifici senza interferire con la strategia di backup stabilita.

Tutti questi tipi di backup di Microsoft SQL Server possono essere combinati per creare una strategia di backup completa che soddisfi i requisiti specifici del proprio ambiente SQL Server. Eseguire regolarmente test e verifica le procedure di backup e ripristino è inoltre una componente essenziale di una solida strategia di protezione dei dati.

Come eseguire il backup dei database SQL

Esistono diversi metodi per creare un backup del database MS SQL con gli strumenti nativi di Microsoft:

  • MS SQL Server Management Studio (SSMS) è uno strumento nativo gratuito con un’interfaccia grafica intuitiva. SSMS deve essere installato manualmente sullo stesso server o sul computer remoto su cui è installato SQL Server.
  • Transaction SQL (T-SQL) I comandi vengono utilizzati per gestire MS SQL Server, comprese le operazioni di backup e ripristino del database.
  • sqlcmd è un’utilità della riga di comando di Windows (cmd) che consente di eseguire comandi T-SQL su SQL Server.
  • PowerShell è un ambiente avanzato a riga di comando in Windows che supporta la gestione di SQL Server dopo l’installazione del SqlServer modulo PowerShell.

Backup in MS SQL Server Management Studio

Per eseguire un backup del database di SQL Server, procedere come segue:

  1. Aprire MS SQL Server Management Studio (SSMS) e accedere a SSMS utilizzando l’account amministrativo.
  2. In Object Explorer, situato sul lato destro della finestra di SSMS, andare su Databases e fare clic con il tasto destro del mouse sul nome del database di cui si desidera eseguire il backup. In questo esempio utilizziamo AdventureWorks2022 come database.
  3. Nel menu contestuale, fare clic su Tasks > Backup.

    MS SQL database backup in SSMS

  4. Impostare i parametri nella finestra Back Up Database .
    • Origine:
      • Database: AdventureWorks2022
      • Tipo di backup: Selezionare Full o Differential (è necessario creare prima un backup completo).
      • Componente di backup: Database
    • Destinazione:
      • Backup su: Disk oppure URL (seleziona disco)
    • Deseleziona la casella di controllo del backup “ Copy-only ” se non desideri creare un backup di sola copia.

    NOTA : È possibile modificare le impostazioni se si desidera creare un backup di altro tipo.

    Il percorso impostato nelle proprietà generali del server di database MS SQL è selezionato per impostazione predefinita. È possibile modificare il percorso predefinito nelle impostazioni globali: fare clic con il pulsante destro del mouse sul nome del server MS SQL in Esplora oggetti, fare clic su Properties, selezionare la pagina Database Settings e visualizzare/modificare Database default locations.

  5. Fare clic su Add per selezionare una destinazione personalizzata per il lavoro di backup MS SQL corrente e selezionare Delete per eliminare di conseguenza la destinazione non necessaria. In questo esempio selezioniamo "D:MS SQL Backup DBAdventureWorks" .

    NOTA : per archiviare un backup, utilizzare un disco diverso da quello su cui si trova il database originale. Si raccomanda di seguire le Regola di backup 3-2-1 per una solida strategia di protezione dei dati. È inoltre possibile configurare il comportamento di sovrascrittura e la compressione nelle opzioni “Media” e “Backup” di conseguenza. Il pulsante “Script” crea uno script T-SQL basato sulle impostazioni selezionate.

    Configuring MS SQL database backup in SSMS

  6. Non dimenticare di inserire un nome per il file di backup. Si noti che i backup differenziali possono utilizzare l’estensione del file .dif .

    Selecting the destination location for a database backup

  7. Fare clic su OK in ciascuna finestra per procedere.

Se tutto è corretto, dovrebbe apparire il messaggio: The backup of database "AdventureWorks2022" completed successfully.

Pianificazione del backup di Microsoft SQL in SSMS

È possibile automatizzare il backup del database MS SQL e pianificare i processi di backup. Per pianificare i backup del database, eseguire i seguenti passaggi in Microsoft SQL Server Management Studio.

  1. In Object Explorer, andare su Management, fare clic con il tasto destro del mouse su Maintenance Planse selezionare New Maintenance Plan.
  2. Inserire un nome per un nuovo piano di manutenzione, ad esempio MS SQL Backup Plan. Fare clic su OK.

    Creating a maintenance plan to configure the MS SQL database backup schedule

  3. Fare clic sull’icona Calendar (Pianificazione del sottopiano) per configurare la pianificazione del backup di MS SQL.

    Opening a calendar to schedule a backup task in SSMS

  4. Selezionare le opzioni di pianificazione del backup di MS SQL necessarie:
    • Tipo di pianificazione: Ricorrente (impostazione predefinita)
    • Frequenza
    • Frequenza giornaliera
    • Durata

    Fare clic su OK per salvare le impostazioni.

    Creating a new database backup job schedule in MS SQL Management Studio

  5. Fare clic su ToolBox nell’angolo in alto a sinistra dell’interfaccia di SSMS.

    Opening the Toolbox in MS SQL Server Management Studio

  6. Trascinare Back Up Database Task da Toolbox nell’area vuota della scheda MS SQL Backup Plan [Design] .
  7. Fare doppio clic su Back Up Database Task che è stato appena trascinato e rilasciato nella scheda MS SQL Backup Plan [Design] .

    Drag and drop the Back Up Database Task from the Toolbox

  8. Si apre la finestra delle opzioni Back Up Database Task . Selezionare il tipo di connessione, ad esempio Local server connection.
  9. Configurare le impostazioni necessarie nelle schede General, Destination, Options :
    • Tipo di backup: Full o Differential
    • Database: Specific databases, all databases, system databaseso All user databases.
    • Backup fino a: Disk

    Configure a scheduled MS SQL database backup task

    Le opzioni nelle schede Destination e Options sono visualizzate nella schermata qui sotto.

    Fare clic su OK per salvare le impostazioni relative all’attività pianificata di backup del database MS SQL.

    The Destination and Options tabs

  10. È possibile fare clic su View T-SQL per visualizzare i comandi utilizzabili in T-SQL per eseguire l’attività creata nell’interfaccia utente grafica di SSMS.

    Viewing a T-SQL database backup script generated with a scheduled task

  11. Premere Ctrl+S per salvare le modifiche in SSMS.
  12. Premere F5 per aggiornare gli elementi visualizzati in SSMS.
  13. Andare su SQL Server Agent > Jobs in Esplora oggetti. È possibile aprire il Job Activity Monitor e visualizzare il MS SQL Backup Plan.Sublan nell’elenco dei processi.

    Viewing an MS SQL database backup status in the Job activity monitor

  14. Aggiornare la pagina facendo clic con il tasto destro del mouse su Jobs o su un altro oggetto e selezionando Refresh. In Esplora oggetti, andare su SQL Server Agent > Jobs, selezionare MS SQL Backup Plan.Subplan, fare clic con il tasto destro del mouse su questo oggetto e selezionare Start Job at Step per avviare immediatamente il lavoro di backup pianificato.

    Starting an MS SQL backup job immediately

    In alternativa, è possibile creare un lavoro di backup pianificato di MS SQL andando su Object Explorer > Management > New Maintenance Plan. Sono disponibili le stesse opzioni, ma è necessario seguire tutti i passaggi.

Backup di MS SQL in T-SQL

Utilizzare i seguenti comandi principali per eseguire il backup di un database MS SQL in T-SQL per ciascun tipo di backup:

  • Backup completo:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Full.bak';

    Sostituire YourDatabaseName con il nome del proprio database e specificare il percorso desiderato per il file di backup (utilizzare un altro disco, non il disco di sistema (C:) né un disco su cui si trova il database originale).

  • Backup differenziale:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Diff.bak' WITH DIFFERENTIAL;

    Assicurarsi di aver precedentemente creato un backup completo prima di creare il backup differenziale.

  • Backup del log delle transazioni:

    BACKUP LOG YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_Log.bak';

    I backup del log delle transazioni sono fondamentali per il ripristino a un punto nel tempo e per mantenere la coerenza dei dati.

  • Backup di file:

    BACKUP DATABASE YourDatabaseName FILE = 'LogicalFileName' TO DISK = 'C:BackupYourDatabaseName_File.bak';

    Sostituire LogicalFileName con il nome logico del file o del gruppo di file di cui si desidera eseguire il backup.

  • Backup di sola copia:

    BACKUP DATABASE YourDatabaseName TO DISK = 'C:BackupYourDatabaseName_CopyOnly.bak' WITH COPY_ONLY;

    I backup in modalità “solo copia” non interferiscono con la sequenza di backup regolare.

Abbiamo illustrato i comandi di base negli esempi precedenti. È possibile utilizzare parametri aggiuntivi per ottimizzare le impostazioni avanzate di backup nei comandi T-SQL. Di seguito sono riportati alcuni esempi di script T-SQL per eseguire backup in Microsoft SQL Server con opzioni avanzate, inclusa la compressione:

  • Backup completo con compressione:

    -- Full Backup with Compression

    BACKUP DATABASE YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_Full.bak'

    WITH COMPRESSION, INIT;

    Dove:

    YourDatabaseName deve essere sostituito con il nome del proprio database.

    C:BackupYourDatabaseName_Full.bak è il percorso e il nome del file di backup che deve essere modificato in base al proprio caso.

    WITH COMPRESSION è l’opzione che abilita la compressione per ridurre le dimensioni del backup.

    INIT è l’opzione che inizializza un nuovo set di supporti.

    -- definisce l’inizio del commento

  • Backup completo con diverse opzioni:

    -- Full Backup with various options

    BACKUP DATABASE YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_Full.bak'

    WITH

     FORMAT, – Sovrascrive il set di supporti esistente

     NAME = 'FullBackup', – Specifica il nome del set di backup

     STATS = 10, – Visualizza un messaggio ogni 10% di completamento

     CHECKSUM, – Verifica l’integrità del backup

     COMPRESSION, – Abilita la compressione

     INIT; – Inizializza un nuovo set di supporti

  • Backup del log delle transazioni:

    -- Transaction Log Backup

    BACKUP LOG YourDatabaseName

    TO DISK = 'C:BackupYourDatabaseName_LogBackup.trn'

    WITH

     FORMAT, – Sovrascrive il set di supporti esistente

     NAME = 'LogBackup', – Specifica il nome del set di backup

     STATS = 10, – Visualizza un messaggio ogni 10% di completamento

     INIT; – Inizializza un nuovo set di supporti

  • – Backup su più file:

    -- Full Backup to Multiple Files

    BACKUP DATABASE YourDatabaseName

    TO

    DISK = 'C:BackupYourDatabaseName_Full1.bak',

    DISK = 'C:BackupYourDatabaseName_Full2.bak'

    WITH INIT;

Questi esempi illustrano varie opzioni avanzate come la formattazione del set di supporti, la specificazione dei nomi dei set di backup, la visualizzazione delle statistiche di avanzamento e la verifica del checksum. È possibile personalizzare questi script di esempio in base alle proprie esigenze e preferenze specifiche.

Backup di una tabella MS SQL

Per eseguire il backup di una tabella specifica in Microsoft SQL Server, è possibile utilizzare la funzione Generate Scripts in MS SQL Server Management Studio (SSMS) per creare uno script di backup dello schema e dei dati della tabella oppure utilizzare l’utilità bcp (Bulk Copy Program). Seguire i passaggi riportati di seguito per entrambi i metodi.

Metodo 1: Generare script in SSMS

Procedere come segue per generare uno script T-SQL ed eseguire il backup di una tabella specifica di un database MS SQL:

  1. Object ExplorerTasks > Generate Scripts

    Generating a T-SQL script

  2. IntroductionGenerate Scripts
    Do not show this page again
    Next
  3. Choose Objects
    Select specific database objects
    Person.Address

    Selecting an MS SQL table to back up

  4. Set Scripting Options Naviga in un database in e fai clic con il tasto destro del mouse sul nome del database. Fai clic su nel menu contestuale. Leggi i suggerimenti nella fase della procedura guidata . È possibile selezionare la casella di controllo . Fai clic su in ogni fase della procedura guidata per continuare. Nella fase , fai clic su . Selezionare le tabelle di cui si desidera eseguire il backup. Nome del database Quindi, passare al passaggio successivo della procedura guidata. Verificare il riepilogo della configurazione e passare al passaggio finale del backup delle tabelle del database. Nel passaggio è possibile visualizzare lo stato di avanzamento del backup. Attendere che il processo di backup del database MS SQL termini. Aprire Esplora risorse e individuare il file di backup delle tabelle MS SQL creato nella destinazione selezionata. In questo esempio, abbiamo il file . Fare doppio clic sul file e aprire questo file di script SQL in SSMS. Modifica il nome del database nella prima riga in base ai requisiti del tuo ambiente. Fai clic su per eseguire lo script di backup della tabella MS SQL. Metodo 2: Utilizza bcp (Bulk Copy Program) Utilizza il seguente flusso di lavoro per eseguire il backup della tabella MS SQL con : Apri il prompt dei comandi (premi , digita e premi ) in Windows con privilegi di amministratore. Accedere all’eseguibile dell’utilità nella directory di installazione di MS SQL Server (160 è utilizzato per MS SQL Server 2022). Ad esempio: Eseguire il comando per esportare i dati della tabella in un file. Sostituire e con il proprio database, schema, tabella e percorso del file di output desiderato. Save as script file Single script file …

    Setting the scripting options


  5. Advanced
    Advanced Scripting OptionsTypes of data to script = Schema and data OK

    Configuring advanced scripting options

  6. The configuration summary to generate a table backup script

  7. Save Scripts

    Saving a script for a table backup

  8. MS_SQL_Table_Backup.sql

    A script for MS SQL table backup is saved as an sql file

  9. MS_SQL_Table_Backup.sql

    A table backup script

  10. Execute

bcp

  1. Win+R cmd Enter
  2. bcp

    cd C:Program FilesMicrosoft SQL Server160ToolsBinn

  3. bcp <DatabaseName>, <SchemaName>, <TableName> <OutputFilePath>

    bcp .. out -c -S -T

    Dove:

    -c – specifica i dati di tipo carattere (non Unicode) da copiare.

    -S – specifica il nome del server.

    -T – utilizza una connessione attendibile (autenticazione Windows).

  4. Controllare il file di output specificato per i dati esportati.

Come ripristinare un database SQL Server

Quando si utilizzano strumenti nativi Microsoft per i backup dei database MS SQL, questi backup vengono solitamente salvati come .bak file. Per aprire un file .bak , in genere è necessario utilizzare MS SQL Server Management Studio (SSMS), uno strumento fornito da Microsoft per la gestione dei database MS SQL Server. Ripristinare i dati da questo backup in uno stato regolare. Solo allora sarà possibile aprire i dati.

NOTA : È possibile copiare un file backupname.bak , rinominare il file copiato backupname.bak in backupname.xls e aprire il file .xls in Microsoft Excel se è necessario visualizzare i dati da un backup ma al momento non si dispone di MS SQL Server installato. La copia del file impedisce il danneggiamento del file di backup principale nel caso in cui qualcosa vada storto.

Ripristino del database MS SQL in SSMS

Tenete presente che sono necessarie le autorizzazioni richieste per eseguire il ripristino del database e che l’istanza di MS SQL Server deve poter accedere al file .bak .

Per ripristinare un database MS SQL Server in MS SQL Server Management Studio da un file di backup, procedete come segue:

  1. Accedete a un server MS SQL Server in SSMS utilizzando un account amministrativo.
  2. Fare clic con il tasto destro del mouse su Databases in Object Explorer e selezionare Restore Database dal menu contestuale.

    How to restore an MS SQL database from a backup in MS SQL Management Studio

  3. Nella finestra Restore Database , selezionare Device per ripristinare un database MS SQL da un file .bak e fare clic sul pulsante … per selezionare il file .bak .

    How to open a .bak file to restore an MS SQL database in SSMS

  4. Selezionare File come tipo di supporto di backup e fare clic su Add.

    Adding a backup file from which a database must be restored

  5. Individuare il file di backup. Per impostazione predefinita, nella finestra viene visualizzata la directory di backup predefinita. Accedere alla directory desiderata e selezionare il file di backup. In questo esempio è stato selezionato il file AdventureWorks2022.bak .

    Selecting an MS SQL database backup file with the bak extension

  6. Fare doppio clic su OK per salvare le impostazioni e tornare alla finestra Restore Database . SSMS visualizzerà lo stato di avanzamento dell’operazione di ripristino. È possibile monitorare il processo nella finestra Restore Progress .

    Ready to restore a database in SSMS

Se tutto è corretto, dopo il ripristino del database dovrebbe apparire questo messaggio:

Database 'AdventureWorks2022' restored successfully.

Ripristino di un database MS SQL in T-SQL

È possibile utilizzare i comandi T-SQL per ripristinare un database da un file .bak utilizzando l’istruzione RESTORE DATABASE . Ciò può risultare utile negli script o in scenari in cui SSMS non è disponibile. Si considerino i seguenti comandi per ripristinare un database MS SQL in T-SQL.

  • Ripristino completo del database:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Full.bak' WITH REPLACE;

    Sostituire YourDatabaseName con il nome del proprio database e specificare il percorso del file di backup completo. L’opzione WITH REPLACE è obbligatoria se si sta sovrascrivendo un database esistente.

  • Ripristino differenziale del database:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Diff.bak' WITH NORECOVERY;

    Dopo aver ripristinato il backup differenziale, potrebbe essere necessario ripristinare ulteriori backup del log delle transazioni per riportare il database allo stato più recente.

    • Per ripristinare un backup del log delle transazioni, utilizzare il seguente comando T-SQL:

      RESTORE LOG YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_Log.bak' WITH NORECOVERY;

    • Ripetere questo comando in sequenza per ogni backup del log delle transazioni. Infine, eseguire il seguente comando per rendere il database online:

      RESTORE DATABASE YourDatabaseName WITH RECOVERY;

    • Assicurarsi che i backup del log delle transazioni vengano applicati nell’ordine corretto.
  • Ripristino di file o gruppi di file:

    RESTORE DATABASE YourDatabaseName FILE = 'LogicalFileName' FROM DISK = 'C:BackupYourDatabaseName_File.bak' WITH REPLACE;

    Sostituire LogicalFileName con il nome logico del file o del gruppo di file.

  • Ripristino in modalità “solo copia”:

    RESTORE DATABASE YourDatabaseName FROM DISK = 'C:BackupYourDatabaseName_CopyOnly.bak' WITH REPLACE, COPY_ONLY;

    L’opzione COPY_ONLY è necessaria per i ripristini in modalità “solo copia”.

Backup e ripristino di Microsoft SQL con NAKIVO

NAKIVO Backup & Replication è una soluzione universale di protezione dei dati che supporta il backup di macchine che ospitano database MS SQL. Il backup di Microsoft SQL viene creato quando si esegue il backup di una macchina Windows distribuita come macchina fisica o VM. In questo modo, è possibile proteggere l’intero server con i database Microsoft SQL in esecuzione sul server. La soluzione NAKIVO consente di ripristinare l’intera macchina fisica o VM, un particolare database Microsoft SQL oppure singoli oggetti del database. Questo approccio accelera il processo di ripristino e garantisce una maggiore flessibilità durante il ripristino.

Il vantaggio del backup di Microsoft SQL Server con la soluzione NAKIVO è la possibilità di utilizzare un approccio incrementale. I backup incrementali accelerano il processo di backup e consentono di risparmiare spazio di archiviazione. Le tecniche di compressione, crittografia e troncamento dei registri di SQL Server rendono l’utilizzo dello spazio di archiviazione più razionale, oltre a rendere il processo di backup veloce e sicuro. I lavori di backup sono pianificati e automatizzati.

Backup del server che ospita SQL: Passo dopo passo con NAKIVO

Per eseguire il backup di una macchina Windows con database MS SQL in formato NAKIVO Backup & Replication, procedere come segue:

  1. Aprire l’interfaccia web di NAKIVO Backup & Replication in un browser.
  2. Assicurarsi che il server Windows fisico o la VM con Microsoft SQL Server sia stato aggiunto all’inventario NAKIVO. È possibile aggiungere macchine fisiche, i server VMware vCenter e gli host ESXi e altri elementi all’inventario accedendo a Settings > Inventory.

    Assicurarsi che vi sia spazio libero sufficiente in un repository di backup per archiviare i backup.

    A machine with MS SQL Server is added to the inventory

  3. Creare un nuovo lavoro di backup per la macchina su cui è installato MS SQL Server. Con NAKIVO, è possibile eseguire il backup della macchina con MS SQL Server mentre è in esecuzione. Fare clic su Jobs > + (Crea un nuovo lavoro) e selezionare il tipo di lavoro richiesto. In questo esempio eseguiamo il backup di una macchina fisica e selezioniamo Physical machine backup job.

    Creating a new backup job for MS SQL Server backup in the NAKIVO solution

  4. Nel primo passaggio della procedura guidata per il nuovo lavoro di backup, selezionate una macchina su cui è installato MS SQL Server. Selezioniamo il nostro Windows Server 2022 con MS SQL Server 2022 installato. È possibile selezionare più macchine in un unico lavoro. Cliccate su Next in ogni passaggio della procedura guidata per continuare.

    Selecting a machine running MS SQL Server to back up

  5. Selezionate un repository di backup in cui desiderate archiviare il backup. È possibile selezionare un archivio di backup locale o un archivio di backup nel cloud. Si consiglia di utilizzare inizialmente un archivio locale e successivamente creare una copia di backup nel cloud o in un altro archivio per soddisfare la regola di backup 3-2-1.

    Selecting a backup repository to store backups

  6. Selezionare le opzioni di pianificazione. Le ultime versioni della soluzione NAKIVO utilizzano un sistema combinato Pianifica e strategia di conservazione. È possibile configurare regole di conservazione flessibili per i processi di backup, inclusi quelli relativi al database MS SQL. Impostare un nome per ciascuna pianificazione.

    Configuring a backup schedule for MS SQL Server

  7. Configurare le opzioni del lavoro. Inserire un nome del lavoro, ad esempio “Lavoro di backup di MS SQL Server 2022”. Configurare le impostazioni del backup completo. Per impostazione predefinita, i backup incrementali vengono utilizzati insieme a backup completi periodici. I backup completi possono essere Active full e {177}. Fare clic su Finish o Finish & Run per eseguire immediatamente il processo.

    Configuring backup job options

  8. Attendere il completamento del processo di backup.

Si noti che NAKIVO Backup & Replication supporta Troncamento automatico dei log per Microsoft SQL Server, Exchange Server e Oracle Database per risparmiare spazio di archiviazione sul server di origine dopo il backup.

Ripristino del database SQL con NAKIVO

Il processo di ripristino del database MS SQL in NAKIVO Backup & Replication è semplice. È possibile ripristinare l’intera macchina fisica o virtuale insieme al database.

  1. Jobs > Recover > Microsoft SQL Server objects

    Starting to recover Microsoft SQL Server objects from a backup

    In alternativa, è possibile utilizzare la funzionalità di ripristino granulare e ripristinare solo gli oggetti del database (l’intero database, le tabelle, ecc.).

    Per ripristinare un database MS SQL o particolari oggetti del database in NAKIVO Backup & Replication, procedere come segue:

  2. Nell’interfaccia web della soluzione NAKIVO, accedere a Object Recovery Wizard for Microsoft SQL Server.
    Automatically locate application databasesNext

    Selecting a recovery point to recover MS SQL database objects

    Nel primo passaggio della procedura guidata di ripristino

  3. , selezionare un backup della macchina contenente il database MS SQL Server e scegliere un punto di ripristino. Assicurarsi che la casella di controllo

  4. sia selezionata.
    • Immettere le credenziali del server di ripristino e fare clic su Test Connection.
    • Dopo aver stabilito correttamente la connessione, selezionare un’istanza SQL su questo server.

      Selecting a recovery server for an MS SQL database

    • Nel passaggio Objects della procedura guidata di ripristino, selezionare il database che si desidera ripristinare (un file .mdf ).

      Selecting a database file from a backup

      Se non è necessario ripristinare l’intero database, fare clic sull’icona > nel riquadro di sinistra accanto al nome del database per espandere l’oggetto database e selezionare gli oggetti specifici da ripristinare.

      Selecting individual database objects to recover

  5. Definire il opzioni di ripristino tra le opzioni elencate di seguito:

    Ambito di ripristino :

    • Ripristina schema e dati
    • Ripristina solo lo schema

    Tipo di ripristino :

    • Ripristina nella posizione originale
    • Ripristina in una posizione personalizzata
    • Esporta

    Comportamento di sovrascrittura :

    • Rinomina l’elemento ripristinato se esiste (impostazione predefinita)
    • Ignora l’elemento ripristinato se esiste
    • Sovrascrivi l’elemento originale se esiste

    Configuring MS SQL database recovery options in NAKIVO Backup & Replication

    Fai clic su Recover e attendi che il database o gli oggetti del database selezionati vengano ripristinati.

Prova NAKIVO Backup & Replication

Prova NAKIVO Backup & Replication

Richiedi una prova gratuita per scoprire tutte le funzionalità di protezione dei dati offerte dalla soluzione. 15 giorni gratuiti. Nessuna limitazione in termini di funzionalità o capacità. Non è obbligatoria alcuna carta di credito.

Le persone leggono anche