Come eliminare il ripristino del database


14

Sto eseguendo il log shipping con SQL Server 2008 R2.

Ho una situazione in cui l'unità del database secondario ha esaurito lo spazio e non applicava i registri delle transazioni di spedizione dei registri.

Il modo in cui voglio risolvere questo problema è eliminare i database secondari e configurare il log shipping da zero.

Il problema che ho ora è che i miei database secondari sono in stato di ripristino e non posso eliminarli. Come posso procedere?

Ad esempio se provo a metterli offline ottengo l'errore,

ALTER DATABASE is not permitted while the database is in the Restoring state.

non è possibile emettere un comando alter su un database di ripristino, è necessario eseguire un drop.
Jason Cumberland,

Risposte:


25
RESTORE DATABASE dbname 
FROM DISK = 'dbname .bak'
WITH REPLACE, RECOVERY --force restore 

o solo

RESTORE DATABASE dbname WITH RECOVERY

la REPLACEsovrascrivere il database esistente, lo fa solo se si è sicuri di voler sovrascrivere il database esistente come lei ha ricordato non vi preoccupate per eliminarlo

RIPRISTINA CON RECUPERO è il comportamento predefinito che lascia il database pronto per l'uso eseguendo il rollback delle transazioni senza commit. Non è possibile ripristinare ulteriori registri delle transazioni.

Ciò dovrebbe portare il database online. Quindi puoi eliminarlo e riprovare.


Credo che ciò che stai dicendo avrebbe dovuto funzionare. La mia soluzione era però quella di riavviare il servizio sql e quindi eliminare i database funzionati successivamente.
Pietro,

vero, mentre il servizio è disattivato, l'eliminazione dei registri delle transazioni ne creerà sempre uno nuovo. i migliori
auguri

3

Il modo migliore come ho fatto con questo problema è scrivere questo comando 'drop database [nome database]' e quindi crearne uno nuovo con lo stesso nome e quindi ripristinare il database da un altro file .bak perché il file .bak è danneggiato o difettoso.


Non vi è alcuna menzione nella domanda sui backup danneggiati.
ypercubeᵀᴹ
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.