|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
[SQL Server] Errore ripristino database
Ho fatto un backup completo di un database, ma al momento del ripristino mi da l'errore
Codice:
Il set di backup include il backup di un database diverso dal database 'miodb' esistente. Codice:
USE master GO if EXISTS (SELECT * FROM master..sysdatabases WHERE name = 'miodb') DROP DATABASE miodb GO CREATE DATABASE miodb GO -- aggiungiamo un device per il backup del database -- sp_addumpdevice 'disk', 'backup_miodb_1', 'C:\temp_db_data\backup\backup_miodb_1.bck' GO USE miodb GO ALTER DATABASE miodb SET RECOVERY FULL GO -- operiamo sul DB, cambiando struttura (nuova tabella) ed inserendo dei dati CREATE TABLE tab1 ( a char, b varchar(10), n integer ) GO INSERT INTO tab1 VALUES ( 'a' , 'ciao1' , 1 ) INSERT INTO tab1 VALUES ( 'b' , 'ciao2' , 2 ) INSERT INTO tab1 VALUES ( 'c' , 'ciao3' , 3 ) INSERT INTO tab1 VALUES ( 'd' , 'ciao4' , 4 ) INSERT INTO tab1 VALUES ( 'e' , 'ciao5' , 5 ) INSERT INTO tab1 VALUES ( 'f' , 'ciao6' , 6 ) INSERT INTO tab1 VALUES ( 'g' , 'ciao7' , 7 ) INSERT INTO tab1 VALUES ( 'h' , 'ciao8' , 8 ) GO BACKUP DATABASE miodb TO backup_miodb_1 GO -- aggiungiamo un device per il log delle transazioni -- sp_addumpdevice 'disk', 'backup_miodb_log_1', 'C:\temp_db_data\backup\backup_miodb_log_1.bck' GO BACKUP LOG miodb TO backup_miodb_log_1 WITH DESCRIPTION='Backup 1 miodb log', STATS=5 -- GO -- SELECT * FROM tab1 GO -- Cancello il databare e lo recupero USE master GO DROP DATABASE miodb GO IF NOT EXISTS (SELECT * FROM master..sysdatabases WHERE name='miodb') PRINT N'>> Database miodb ELIMINATO' GO -- Facciamo un restore da full backup più log transazioni -- Il primo passo è recuperare il file dei dati (senza operare il restore) RESTORE DATABASE miodb FROM backup_miodb_1 WITH NORECOVERY, STATS=25 GO -- Il secondo passo è recuperare il file di log (senza ancora operare il restore) RESTORE LOG miodb FROM backup_miodb_log_1 WITH NORECOVERY, STATS=25 GO -- Il terzo ed ultimo passo è di applicare le operazioni descritte nel file di log -- sul DB ripristinato e riattivare complessivamente il DB RESTORE LOG miodb WITH RECOVERY GO -- Verifichiamo che il DB è tornato allo stato precedente alla distruzione USE miodb GO SELECT * FROM tab1 GO |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:48.