Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Recovery in SQL 2005 di un DB 2000 recuperato da un crash di un HD
martedì 24 marzo 2009 - 02.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
fantoccino
Profilo
| Newbie
17
messaggi | Data Invio:
mar 24 mar 2009 - 02:42
Salve a tutto l'NG.
Sto tentanto di ricollegare un DB in versione SQL 2000 di un programma di contabilita recuperato da un HD fisicamente rotto.
I file (MDF e LDF) sono stati recuperati dall'HD da una società specializzata
Il problema è che tentando il suo collegamento ricevo questo errore :
Impossibile eseguire Collega database per Server 'SAIS\SISTEMI'. (Microsoft.SqlServer.Smo)
Eccezione durante l'esecuzione di un'istruzione o un batch Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
A causa di uno spostamento di dati, non è possibile continuare la scansione tramite NOLOCK.
È in corso la conversione del database 'LOTTOMA' dalla versione 539 alla versione corrente 611.
È in corso l'aggiornamento del database 'LOTTOMA' dalla versione 539 alla versione 551. (Microsoft SQL Server, errore: 601)
In pratica il database deve essere convertito (2000 to 2005) e presenta il problema di un irregolare Shutdown (L'hd si è rotto con l'applicativco aperto).
Ho effettuato lunghe ricerche su NG e tentativi (con o senza LDF, creando un database poi sostituito con questo, etc ma non riesco ad aprirlo)
Il bello è che i vari tools di recovery .MDF presenti in rete in versione DEMO lo aprono tranquillamente ma vorrei evitare di far spendere al mio cliente
altri 300/400 euro (costo medio di questi software) da sommare al DISCRETO esborso alla societa di recovery.
Avete qualche idea?
Posso fornire il DB per delle prove in quanto non contiene dati sensibili e/o utili senza un secondo database fortunatamente funzionante.
Grazie per l'aiuto.
P.S. Ovviamente il cliente non ha copie SIGNIFICATAMENTE aggiornate (e lascio la parola SIGNIFICATAMENTE :-))
Rombino Cadino
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
mar 24 mar 2009 - 11:23
Non assicuro niente ma se vuoi manda il db a e vedo (ovviamente gratis) cosa si può fare.
fantoccino
Profilo
| Newbie
17
messaggi | Data Invio:
mar 24 mar 2009 - 12:25
Fatto.
E comunque indipendentemente dal risultato, grazie per la disponibilità.
Rombino Cadino
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
mar 24 mar 2009 - 13:20
Per correttezza verso tutti posto la soluzione, anche se non elegante ma efficace al problema.
Estratto dalla mail:
Ok ci sono dalla mia macchina non riesco ma si può fare, allora seguono i passi da fare:
1. Installare sqlserver 2000 almeno alla versione SP1, meglio SP3
2. Usare una versione di VS2005 va bene professional
3. Mettere il solo file mdf in una cartella
4. Creare una nuova soluzione VS2005 di tipo windows o web è indifferente
5. Nella cartella App_Code cliccare tasto destro e poi Add Existing Item e selezionare il file mdf
6. Si genera un errore perché non si apre con l’utenza corrente, ma poco male perché comunque crea un nuovo file di log pulito
7. A sinistra in VS apparirà in server explorer la connessione al database
8. Cliccare tasto destra su questa e cliccare su refresh
9. La connessione fallisce ma serve a ripulire dei parametri
10. Cliccare tasto sulla connessione e cliccare su modify connection
11. A questo punto inserire i parametri di connessione che si hanno
12. Si è collegati, estrapolare una connection string
13. Aprire un’istanza di SqlServerExpress 2005 e creare un nuovo db
14. Attraverso il progetto che abbiamo spostare per ogni tabella e per ogni dato con dei cicli foreach l’intera struttura e i dati del sito
15. Lanciare il programma
16. Verificare l’avvenuta trasmissione dei dati
Ciao se hai dubbi o problemi contattami pure. In ogni caso ti consiglio di fare tutto sto casino in Virtual Machine con VM Where.
fantoccino
Profilo
| Newbie
17
messaggi | Data Invio:
gio 26 mar 2009 - 00:26
>Per correttezza verso tutti posto la soluzione, anche se non
>elegante ma efficace al problema.
>
>Estratto dalla mail:
>Ok ci sono dalla mia macchina non riesco ma si può fare, allora
>seguono i passi da fare:
>
>1. Installare sqlserver 2000 almeno alla versione SP1, meglio SP3
>2. Usare una versione di VS2005 va bene professional
>3. Mettere il solo file mdf in una cartella
>4. Creare una nuova soluzione VS2005 di tipo windows o web è indifferente
>5. Nella cartella App_Code cliccare tasto destro e poi Add Existing Item e selezionare il file mdf
>6. Si genera un errore perché non si apre con l’utenza corrente, ma poco male perché comunque crea un nuovo file di log pulito
>7. A sinistra in VS apparirà in server explorer la connessione al database
>8. Cliccare tasto destra su questa e cliccare su refresh
>9. La connessione fallisce ma serve a ripulire dei parametri
>10. Cliccare tasto sulla connessione e cliccare su modify connection
>11. A questo punto inserire i parametri di connessione che si hanno
>12. Si è collegati, estrapolare una connection string
>13. Aprire un’istanza di SqlServerExpress 2005 e creare un nuovo db
>14. Attraverso il progetto che abbiamo spostare per ogni tabella e per ogni dato con dei cicli foreach l’intera struttura e i dati del sito
>15. Lanciare il programma
>16. Verificare l’avvenuta trasmissione dei dati
>
>Ciao se hai dubbi o problemi contattami pure. In ogni caso ti
>consiglio di fare tutto sto casino in Virtual Machine con VMware.
>
>
Beh, in effetti io non programmo e non conosco VB però tento comunque di eseguire
la soluzione postata anche perchè è l'ultima spiaggia.
Ho creato la Macchina Virtuale e vado con le installazione ma prenoto (almeno) 3 domande...
Grazie.
Rombino Cadino
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
ven 3 apr 2009 - 11:39
Alla fine come è andata?
fantoccino
Profilo
| Newbie
17
messaggi | Data Invio:
gio 9 apr 2009 - 13:52
Chiedo scusa per l'assenza e il ritardo.
Dunque per la soluzione Vb ho trovato ostacoli per me difficilmente sormontabili con le mie conoscenze.
Con delle ricerche approfondite ho capito che il problema era l'impossibilita di upgradare un DB da una versione all'altra in presenza di
errori di consistenza.
Ho quindi reinstallato SQL 2000 con il livello di Service Pack che era attivo al momento del danneggiamento.
Questo ha permesso di ricollegare il DB senza confersioni anche se SUSPECT.
a quel punto sono andato con il DBCCCHECKDB in REPAIR_ALLOW_DATA_LOSS e pur perdendo alcuni record importanti, ho potuto recuperare gran parte dei dati.
Devo dire che alcuni tools di Recovery in modalità demo avevano fatto molto meglio, ma ll cliente ha deciso di non acquistarli.
Grazie.
Rombino Cadino.
Rombino Cadino
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !