RS First Dynamics NAV Blog


...from NAV 3.60 to NAV 2013
Archivio Posts
Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Microsoft SQL 2005 mdf danneggiato

Su una installazione SQL 2005, mi è capitato di aver esaurito lo spazio disco, a causa della crescita abnorme del file di log. Ogni tentativo di troncare il log è fallitto, così ho deciso di utilizzare un rimedio estremo: effettuare la detach del DB, poi cancellare il file di log e rimontare il solo file dati, facendo ricreare un nuovo file di log. Putroppo, per, all’atto del rimontaggio, SQL mi ha avvisato che c’erano problemi con il file dati e che era necessario individuare il file di log, purtroppo già cancellato e sovrascritto.

 In SQL 2000 esiste il comando DBCC REBUILD_LOG(’MyDatabase’,'C:\MyDatabase.ldf’) che permette di ricreare un file di log nuovo per un dato DB, ma purtroppo in SQL 2005 tale comando è stato rimosso.

Dopo vari tentativi di recuperare il file (ovviamente senza passare attraverso una lunga restore del db dainastri di backup), l’unica procedura che ha funzionato è stata:

1.     1. creare un nuovo db con lo stesso nome del vecchio db;

2.     2. fermare il server SQL;

3.     3. sostituire il file dati (mdf) del db creato con il file mdf danneggiato;

4.     4. riavviare il server SQL;

5.     5. a questo punto il db risulta dannegiato, eseguire il comando DBCC checkdb con lo switch REPAIR_ALLOW_DATA_LOSS;

A questo punto il db ha ripreso a funzionare senza problemi

Categoria: Sql Server ALL
martedì, 10 feb 2009 Ore. 14.32

Messaggi collegati


Statistiche
  • Views Home Page: 471.754
  • Views Posts: 889.102
  • Views Gallerie: 0
  • n° Posts: 343
  • n° Commenti: 0
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003