none
Come recuperare un DB Sql Server a seguito di un problema hardware? RRS feed

  • Domanda

  • Ecco brevemente un sunto della situazione in cui mi trovo.

    Ho una macchina su cui vi è installato SQL Server 2008 R2, sotto Windows 7.

    Ho un problema con l'hd principale.

    La macchina non riparte. Sostituisco l'hd danneggiato e non riesco più in alcun modo a fare il ripristino via Windows Backup.

    Sql Server ed il suoi db sono in un secondo hd, indenne.

    Come posso installare nuovamente SQL Server senza perdere i dati presenti nel DB?

    Prima di fare boiate... gradirei un vostro consiglio.

    Grazie a tutti!

    sabato 3 settembre 2011 14:02

Tutte le risposte

  • Se ho capito bene i file dei DB si trovano in un disco "sano" giusto ?

    In questo caso reinstalli il SO, SQL Server 2008 R2 e fai l'attach dei DB.

    Saluti


    Massimo Giambona
    MCT
    MCTS Microsoft Office Sharepoint Configuration
    MCTS Microsoft .NET Framework 4.0
    MCPD ASP.NET Developer 4.0
    MCPD Microsoft Office Sharepoint 2010
    MCITP SQL Server 2008

    Corporate Site
    Blog
    domenica 4 settembre 2011 16:03
  • Purtroppo ho scoperto che i files del db erano sull'hd principale (quello andato per intenderci) C: e si trattava di SQL Server Express 2005.

    Partiamo dal presupposto che ad ogni modo recupero i files da un backup di Windows.

    Provvedendo a reinstallare questa applicazione, quest'ultima crea il suo DB sotto SQL Express.

    Ovviamente con nessun dato all'interno.

    Una volta recuperato i files del vecchio DB contenente tutti i dati, cosa mi consigliate di fare per recuperare il tutto?

    Inoltre, è possibile spostare i files del DB su un'altro HD rendendo il tutto trasparente all'applicazione che ne fa uso?

    martedì 13 settembre 2011 10:07
  • Purtroppo ho scoperto che i files del db erano sull'hd principale (quello andato per intenderci) C: e si trattava di SQL Server Express 2005.

    Partiamo dal presupposto che ad ogni modo recupero i files da un backup di Windows.

    Provvedendo a reinstallare questa applicazione, quest'ultima crea il suo DB sotto SQL Express.

    Ovviamente con nessun dato all'interno.

    Una volta recuperato i files del vecchio DB contenente tutti i dati, cosa mi consigliate di fare per recuperare il tutto?

    Inoltre, è possibile spostare i files del DB su un'altro HD rendendo il tutto trasparente all'applicazione che ne fa uso?

    Ciao,

    Una nuova installazione creerà i nuovi db di sistema (master, model, msdb e tempdb). I database utente (*.mdf e *.ldf) che avrai recuperato dal backup dovrai riagganciarli all'istanza mediante il comando CREATE DATABASE...FOR ATTACH.

    A questo punto dovrai ridefinire le eventuali login a livello di istanza rimappandole agli user account a livello di database mediante il comando ALTER USER...WITH LOGIN.

    Eventuali job dovrai ricrearli da zero (a meno di provare a sovrascrivere l'msdb nel caso in cui sia il server che l'istanza abbiano esattamente le stesse caratteristiche dell'istanza di origine, ma dubito che l'operazione vada a buon fine).

    Per spostare i file di un db in una nuova location, è sufficiente eseguire il detach/attach oppure utilizzare il comando ALTER DATABASE...MODIFY FILE.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    martedì 13 settembre 2011 12:17
    Moderatore