Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
In questo argomento vengono fornite informazioni su come eseguire il ripristino fino al punto di errore. L'argomento è rilevante solo per i database che utilizzano i modelli di ripristino con registrazione completa o con registrazione minima delle operazioni in blocco.
Per eseguire il ripristino al punto di guasto
Eseguire il backup della parte finale del log eseguendo l'istruzione di base BACKUP seguente:
BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY, NO_TRUNCATE;Ripristinare un backup completo del database eseguendo l'istruzione di base RESTORE DATABASE seguente:
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;Facoltativamente, ripristinare un backup differenziale del database eseguendo l'istruzione di base RESTOREDATABASE seguente:
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;Applicate ogni log delle transazioni, incluso il backup finale del log creato nel passaggio 1, specificando WITH NORECOVERY nell'istruzione RESTORE LOG:
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;Ripristinare il database eseguendo l'istruzione seguente RESTOREDATABASE :
RESTORE DATABASE <database_name> WITH RECOVERY;
Esempio
Prima che sia possibile eseguire l'esempio, è necessario completare le operazioni preliminari seguenti:
Il modello di recupero predefinito del database
AdventureWorks2025è il modello di recupero semplice. Poiché questo modello di recupero non supporta il ripristino fino al momento dell'errore, impostareAdventureWorks2025affinché usi il modello di recupero completo eseguendo l'istruzione ALTER DATABASE seguente:USE master; GO ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;Creare un backup completo del database usando l'istruzione seguente BACKUP:
BACKUP DATABASE AdventureWorks2022 TO DISK = 'C:\AdventureWorks2022_Data.bck';Creare un backup del log in modo routinario.
BACKUP LOG AdventureWorks2022 TO DISK = 'C:\AdventureWorks2022_Log.bck';
Nell'esempio seguente vengono ripristinati i backup creati in precedenza, dopo la creazione di un backup della parte finale del log del database AdventureWorks2025 . In questo passaggio si suppone che il disco del log sia accessibile.
Innanzitutto, nell'esempio viene creato un backup del tail-log del database che acquisisce il log attivo e mantiene il database nello stato di ripristino. Quindi, nell'esempio viene ripristinato il backup del database e vengono applicati il backup del log di routine creato in precedenza e il backup della parte finale del log. Infine, l'esempio ripristina il database in un passaggio separato.
Nota
Il comportamento predefinito consiste nel recuperare un database come parte dell'istruzione che ripristina il backup finale.
/* Example of restoring a to the point of failure */
-- Step 1: Create a tail-log backup by using WITH NORECOVERY.
BACKUP LOG AdventureWorks2022
TO DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 2: Restore the full database backup.
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Data.bck'
WITH NORECOVERY;
GO
-- Step 3: Restore the first transaction log backup.
RESTORE LOG AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 4: Restore the tail-log backup.
RESTORE LOG AdventureWorks2022
FROM DISK = 'C:\AdventureWorks2022_Log.bck'
WITH NORECOVERY;
GO
-- Step 5: Recover the database.
RESTORE DATABASE AdventureWorks2022
WITH RECOVERY;
GO