Impossibile eseguire il BACKUP LOG perché non esiste un backup del database corrente


103

Ho provato a ripristinare un database ma è stato visualizzato questo messaggio. Come ripristino questo database?

Ripristino del database "farhangi_db" non riuscito.
(Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------ INFORMAZIONI AGGIUNTIVE:

System.Data.SqlClient.SqlError: BACKUP LOG non può essere eseguito perché
non esiste un backup del database corrente. (Microsoft.SqlServer.SmoExtended)


2
È un backup differenziale?
Amir Keshavarz

@AmirrezaKeshavarz: cosa? (motavajeh nemisham manzuretuno)
Saman

1
Voglio dire che che tipo di backup intendi ripristinare? (backup del registro delle transazioni / backup completo / backup differenziale?)
Amir Keshavarz,

Sembra che il registro delle transazioni sia rotto
bksi

Il tuo database esiste? L
Amir Keshavarz

Risposte:


204

Inizialmente, ho creato un database e quindi ripristinato il file di backup nel mio nuovo database vuoto:

Fare clic con il tasto destro su Database> Ripristina database> Generale: Dispositivo: [il percorso del file di backup] → OK

Questo era sbagliato . Non avrei dovuto creare prima il database.

Ora, invece, faccio questo:

Fare clic con il tasto destro su Database> Ripristina database> Generale: Dispositivo: [il percorso del file di backup] → OK


Ho eseguito lo stesso errore e ha funzionato per me.
javiniar.leonard

Ha funzionato anche per me
nbhatti2001

127

Un'altra causa di questo problema è quando l' Take tail-log backup before restoreimpostazione "Opzioni" è abilitata.

Nella scheda "Opzioni", disattiva / deseleziona Take tail-log backup before restoreprima di ripristinare un database che non esiste ancora.


Grazie @Peach, mi risparmi tempo.
Frank Myat giovedì

@ Peach Thanks mi ha fatto risparmiare tempo.
LKC

@Peach Grazie mille!
Mohit Dharmadhikari

E spunta l'opzione "CON SOSTITUZIONE"
Andrii Horda

33

Si prega di vedere l' immagine sottostante e applicare le modifiche in SqlServer:

primo clic destro su Database -> Attività -> Ripristina -> Seleziona file di backup -> Infine Applica modifica nella scheda Opzioni .

applicare le modifiche in SqlServer


Nel mio caso lo faccio e spunta la prima casella "Sovrascrivi il database esistente (CON SOSTITUZIONE)" e funziona.
Amaurys Sánchez

6
  1. Assicurati che sia presente un nuovo database.
  2. Assicurati di avere accesso al tuo database (utente, password, ecc.).
  3. Assicurati che ci sia un file di backup senza errori.

Spero che questo possa aiutarti.


2

Un'altra causa di ciò è se hai ripristinato lo stesso database con un nome diverso. Elimina quello esistente e il ripristino lo ha risolto per me.


Grazie per la risposta. Lol, perché Microsoft SQL Server non avrebbe potuto semplicemente dire "Amico, elimina il database esistente prima di ripristinarlo!"
sivabudh

1

Nel nostro caso, era dovuto al fatto che il modello di recupero sul database primario era stato modificato dopo aver eseguito il backup in preparazione per l'impostazione del log shipping.

Assicurarsi che il modello di ripristino fosse impostato su Ripristino completo prima di eseguire il backup e la configurazione del log shipping hanno risolto il problema.


1

Ho corretto il mio errore sul ripristino su DB non esistente da SQL 2008 a SQL 2014 mettendo un segno di spunta su Trasferimento nella nuova posizione della cartella SQL2014.


1

È possibile utilizzare il seguente SQL per ripristinare se hai già creato il database

RESTORE DATABASE [YourDB]
FROM DISK = 'C:\YourDB.bak'
WITH MOVE 'YourDB' TO 'C:\YourDB.mdf',
MOVE 'YourDB_Log' TO 'C:\YourDB.ldf', REPLACE

0

Ho appena cancellato il DB esistente che volevo sovrascrivere con il backup e ripristinato dal backup e ha funzionato senza l'errore.


0

Non sono sicuro che il file di backup del database, che stai tentando di ripristinare, provenga dallo stesso ambiente in cui stai tentando di ripristinarlo.

Ricorda che il percorso di destinazione dei file .mdf e .ldf vive con il file di backup stesso.

Se questo non è un caso, significa che il file di backup proviene da un ambiente diverso dal tuo attuale hosting, assicurati che il percorso del file .mdf e .ldf sia lo stesso (esiste) del tuo computer, riposizionali altrimenti. (Principalmente un caso di ripristino del database nell'immagine Docker)

Il modo in cui farlo: In Database -> Ripristina database -> opzione [File] -> (Seleziona "Riposiziona tutti i file nella cartella" - la maggior parte del percorso predefinito è già popolato nel tuo ambiente di hosting)


0

Se il problema persiste, vai alla pagina del database di ripristino e seleziona "Ripristina tutti i file nella cartella" nella scheda "File" Questo potrebbe essere d'aiuto


0

Nel mio caso sto ripristinando un database SQL Server 2008 R2 su SQL Server 2016 Dopo aver selezionato il file nella scheda Generale, dovresti andare alla scheda Opzioni e fare 2 cose:

  1. È necessario attivare Sovrascrivi database esistente
  2. È necessario disattivare la copia di fine record

-1

Semplicemente puoi usare questo metodo:

  1. Se hai un database con lo stesso nome: WIN+R-> services.msc-> SQL SERVER(MSSQLSERVER)->Stop
  2. Vai al percorso della cartella dei dati di MySQL ed elimina i file del database delle anteprime
  3. Avvia il servizio sql
  4. Fare clic con il tasto destro sul database e selezionare Ripristina database
  5. nella scheda File cambia la cartella File di dati e la cartella File di registro
  6. Fare clic su OK per ripristinare il database

il mio problema è stato risolto con questo metodo BY ...


-1

Fai clic con il pulsante destro del mouse sul tuo database Le attività di stampa> Backup e fai un backup dal tuo database prima di ripristinare il tuo database Sto usando in questo modo per risolvere questo problema

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.