Recupero a un Punto nel Tempo in SQL Server: Metodi e Best Practice

Informazioni sulla ripristino a un determinato punto nel tempo (PITR) per SQL Server, inclusi i modelli di recupero, i metodi come SSMS, T-SQL e le best practice.

download-icon
Download Gratuito
per VM, OS, DB, File, NAS, ecc.
giovanni

Updated by Giovanni on 2024/12/19

Indice dei contenuti
  • Condizioni preliminari per il ripristino a un determinato punto nel tempo in SQL Server

  • Eseguire il ripristino a un determinato punto nel tempo utilizzando SSMS

  • Usa Transact-SQL per eseguire un ripristino a un determinato punto nel tempo

  • Soluzione professionale per il ripristino a un determinato momento di SQL Server

  • Conclusione

Situazioni come l'eliminazione accidentale dei dati, la corruzione del file di database, l'attacco da virus, ecc. Si verificano ma è possibile ripristinare un database a un determinato momento dal backup del database.

Il ripristino a un punto nel tempo in SQL Server (PITR) è un processo fondamentale che prevede il ripristino di un database a un punto precedente specifico. Questa operazione garantisce l'integrità e la coerenza dei dati, minimizzando qualsiasi possibile perdita di dati.

Condizioni preliminari per il ripristino a un determinato punto nel tempo in SQL Server

Eseguendo un ripristino a un determinato punto nel tempo in un database si basa sul principio del logging delle transazioni. Quando una transazione viene eseguita in un database SQL Server, i dettagli delle modifiche apportate da quella transazione sono registrati nel log delle transazioni. Per eseguire un ripristino a un determinato punto nel tempo, è necessario avere anche un backup completo del database prima dei backup del log delle transazioni.

Esistono tre modelli di recupero in SQL Server ma non tutti possono aiutarti a ripristinare il database al punto che ti serve.

Modello di recupero semplice: Non ci sono backup del log, solo backup completi quindi il recupero a un punto specifico nel tempo non è supportato.

Modello di recupero completo: Sono necessari i backup del log delle transazioni e i backup completi in questa modalità, il che ti permette di ripristinare il database a qualsiasi punto nel tempo successivo.

Modello Bulk-Logged: Questo modalità richiede log delle transazioni. È una modalità aggiuntiva alla Full Recovery Mode ma non può aiutare la ripristino a un punto specifico nel tempo.

Per scegliere un modello di recupero, è possibile eseguire facilmente i seguenti passaggi in SSMS: fare clic con il tasto destro su database> Properties > nella finestra Option window, scegliere Recovery model

È importante comprendere i modelli di recupero e il loro ruolo nel recupero a un determinato punto nel tempo. Una volta selezionato il modello di recupero appropriato, è possibile procedere all'uso degli strumenti per eseguire il recupero a un determinato punto nel tempo.

La sezione successiva illustrerà tre strumenti di recupero, tra cui SSMS e T-SQL.

Eseguire il ripristino a un determinato punto nel tempo utilizzando SSMS

Utilizza SQL Server Management Studio (SSMS), uno strumento a interfaccia grafica che può essere utilizzato per gestire i database e eseguire operazioni di ripristino.

Con SSMS, gli utenti possono facilmente selezionare il punto nel tempo per il recupero, specificare le posizioni dei file di backup e così via.

Prima di eseguire un'operazione di ripristino, è necessario avere un file di backup. Di seguito sono riportati i semplici passaggi per effettuare il backup.

In SSMS, connettersi a un instance > espandere database> fare clic con il pulsante destro del mouse su un database > Task> Back Up> backup type> OK

Per coloro che richiedono istruzioni dettagliate e approcci aggiuntivi per il backup di SQL Server, Guida al Backup di SQL Server potrebbe essere utile.

Una volta che hai un backup, puoi procedere con il processo di ripristino. Per ripristinare SQL Server al punto nel tempo, segui questi passaggi:

1. In SSMS, connettersi all' instance> Espandi database

2. Fare clic con il pulsante destro del mouse sul database desiderato> Task> Restore> Database

3. Nella finestra Generale, imposta la Source e la Location per il ripristino. Puoi selezionare sia dal database che dal dispositivo

4. Nella sezione Destination la casella Database viene compilata automaticamente con il nome del database da ripristinare. Per modificare il nome del database, inserire il nuovo nome nella casella Database

5. Nella sezione Ripristina a, fai clic su Specific Date and Time> Imposta il punto nel tempo a cui desideri tornare> OK

Usa Transact-SQL per eseguire un ripristino a un determinato punto nel tempo

Un altro approccio consiste nell'utilizzare i comandi Transact-SQL (T-SQL), che è il linguaggio di programmazione di SQL Server.

Scrivendo istruzioni T-SQL appropriate, è possibile specificare punti di ripristino, eseguire operazioni di recupero sui file di backup e impostare altre opzioni di recupero.

Certo, eseguire un ripristino di backup in SQL Server comporta una serie di passaggi che possono essere complessi. Per istruzioni dettagliate e una guida completa su come eseguire il backup di SQL Server utilizzando T-SQL, si consiglia vivamente di fare riferimento a Backup di SQL Server. La cosa più importante da ricordare quando si esegue un ripristino temporizzato del database è di avere sempre un backup completo e un backup del registro delle transazioni del database.

Per ripristinare SQL Server a un punto specifico nel tempo, è possibile seguire questi passaggi:

1. Connetti all'istanza del server instance

2. Fai clic su New Query> esegui l'istruzione RESTORE DATABASE con l'opzione NORECOVERY

3. Ripristina l'ultimo differential database backup, se presente, senza recuperare il database:

RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY

4. Applica ogni backup del log delle transazioni nello stesso ordine in cui sono stati creati, specificando l'ora in cui intendi interrompere il ripristino del log

RESTORE DATABASE database_name FROM <backup_device> WITH STOPAT = time , RECOVERY

Nota: Assicurati di sostituire &ldquodatabase_name&rdquo con il nome effettivo del database che stai ripristinando, &ldquo;backup_device&rdquo con il dispositivo di backup appropriato (come disco o nastro) e &ldquo;time&rdquo con l'ora o il punto specifico a cui vuoi ripristinare.

Soluzione professionale per il ripristino a un determinato momento di SQL Server

Oltre a ciò, strumenti di terze parti come Vinchin Backup & Recovery possono essere utilizzati per ripristinare il database di SQL Server a qualsiasi punto nel tempo..

Vinchin Backup & Recovery, la soluzione professionale di backup per imprese, è più semplice e conveniente, fornendo un'interfaccia utente amichevole e funzionalità avanzate di backup e ripristino che aiutano gli utenti a ripristinare i dati in modo più flessibile, supportando il backup di SQL Server 2019/2017/2016/2014/2012/2008 e altri database come MySQL, Oracle Database, PostgreSQL, MariaDB, ecc.

Per eseguire un backup utilizzando Vinchin Backup & Recovery in SQL Server, seguire i passaggi indicati di seguito:

1. Seleziona Physical Backup > Database Backup > Backup > SQL Server

2. Seleziona la backup destination

3. Seleziona le backup strategies. Select Full Backup and Log Backup

4. fai clic su Submit

Dopo aver creato correttamente un backup, sei pronto per procedere con il processo di ripristino. Per eseguire un ripristino a un determinato punto nel tempo in SQL Server, puoi seguire questi passaggi:

1. Scegli Physical Backup> Database Backup> Restore> seleziona un Reduction Point

PITR

2. Seleziona Target Instance

pitr

3. Configurazione della tua Restore Strategy

pitr

4. Seleziona submit

pitr

C'è un periodo di prova gratuito di 60 giorni per Vinchin Backup & Recovery quindi non esitare a scaricarlo e testarlo nel tuo ambiente. In caso tu abbia domande o preoccupazioni, puoi contattare direttamente Vinchin o rivolgerti ai nostri partner locali. Il nostro team sarà lieto di offrirti il supporto e l'assistenza necessari.

Conclusione

In conclusione il ripristino a un punto specifico nel tempo è fondamentale per il ripristino di emergenza di SQL Server che aiuta a ripristinare il database a un momento specifico del passato preservando l'integrità dei dati e riducendo la perdita di dati. Metodi come SSMS, comandi T-SQL e applicazioni come Vinchin Backup & Recovery offrono scelte pratiche per eseguire questo processo. Ogni metodo ha i suoi passaggi e vantaggi, fornendo agli utenti flessibilità nella scelta dell'approccio più appropriato.

Condividi su:

Categories: Database Backup