Base di dati in SQL Server corrotta



Stampato da: PCPRIMIPASSI.IT
Categoria: PROBLEMI HARDWARE & SOFTWARE
Nome del Forum: Problemi Software
Descrizione del forum: Problemi di carattere Software generici
URL: Vedi discussione
Data di Stampa: 28/Marzo/2024 alle 21:08

Topic: Base di dati in SQL Server corrotta
Postato da: isaberti
Soggetto: Base di dati in SQL Server corrotta
Postato in data: 08/Maggio/2018 alle 14:56

Ho un problema con base di dati di SQL Server 2008 R2. Oggi ad apertura ho visto Corruzione di una tabella in SQL Server. Non so come ripristinare sql server dati. Amici, qualcuno, consiglia una soluzione o metodo.


Risposte:



Postato da: RAVEN
Postato in data: 08/Maggio/2018 alle 18:48

Ciao Isaberti e benvenuta sul nostro forum, spero che ti troverai bene Ok.

Veniamo al tuo problema alcune domande veloci;

1) Hai dei backup recenti della base dati ? Se si a quando risalgono?
2) L'errore che hai visto ... ce lo puoi trascrivere cosi come ti compare ?

Tieni comunque presente che per SQL server ci sono diversi tools per la gestione ed il recupero, quindi si tratta di capire bene cosa c'è da fare e quali passi bisogna affrontare insieme ok ?

Di seguito alcuni metodi per eliminare i dati corrotti:




1) Tentare di correggere l'intero database dove è presente la corruzione di dati:

Se sei esperta o sai dove mettere mano su SQL server e riesci almeno ad aprire il database puoi provare i seguenti comandi:

Se il database è agganciato a SQL server (cioè lo state già usando) prova questo comando dalla shell di SQL server:

DBCC CHECKDB('dbname', REPAIR_FAST)

Se questo comando non riesce a riparare, prova questo altro comando:

DBCC CHECKDB('dbname', REPAIR_REBUILD)

Se anche questo comando fallisce prova questo ultimo comando:

DBCC CHECKDB('dbname', REPAIR_ALLOW_DATA_LOSS)

Puoi tentare un controllo di manutenzione anche in maniera grafica tramite SQL SERVER MANAGEMENT STUDIO, un tool nativo per la gestione dell'engine SQL server distribuito gratuitamente insieme a speciali versioni di SQL Server ed è disponibile anche per SQL Server Express R2 come nel tuo caso.

Qui trovi come effettuarlo secondo la guida del sito html.it

http://www.html.it/articoli/manutenzione-di-sql-server-come-fare-2/ - Manutenzione SQL server



2) Tentare di correggere la sola tabella corrotta:


Lo puoi fare con i seguenti comandi, da lanciare da una shell per l'esecuzione delle query sql o direttamente da un file .cmd appositamente creato.

Ecco i comandi da utilizzare per il check della tabella corrotta:
  • ALTER DATABASE [databasename] SET SINGLE_USER WITH NO_WAIT
  • use databasename;
    dbcc checktable('NomeTabellaCorrotta', repair_allow_data_loss)
  • ALTER DATABASE [MyDbName] SET MULTI_USER WITH NO_WAIT


3) Ripristino di un backup recente:


Questa  sarebbe la soluzione migliore a patto che tu sia in possesso di un backup recente e che tu sia disposta a perdere tutto cio' che è stato fatto da dopo la creazione del backup stesso fino al momento in cui andrai a fare il ripristino.


Ci sono inoltre in giro molti tools di terze parti per il recupero automatico in simili circostanze ma sono a pagamento, per cui prima sarebbe bene capire la situazione e vedere se si può risolvere in un modo gratuito.



-------------
Stefano Ravagni - <strong>'tanto prima o poi ti buco!'...disse il baco alla noce</strong> <br /> <br /><a href="https://www.pcprimipassi.it/d&#111;nazi&#111;ni.asp" target="_blank">SOSTIENICI</a>



Postato da: RAVEN
Postato in data: 10/Maggio/2018 alle 18:40

Isaberti ci sei ? Hai problemi con la nostra risposta ? Facci sapere qualcosa Sorriso

-------------
Stefano Ravagni - <strong>'tanto prima o poi ti buco!'...disse il baco alla noce</strong> <br /> <br /><a href="https://www.pcprimipassi.it/d&#111;nazi&#111;ni.asp" target="_blank">SOSTIENICI</a>



Postato da: Vitgenna
Postato in data: 17/Maggio/2018 alle 18:49

Per aprire file mdf sql o visualizzare o modificare il modello di recupero usa SQL Server Management Studio o https://sql.recoverytoolbox.com/it/ -

1.     Dopo aver effettuato la connessione all'istanza appropriata del Motore di database di SQL Server, in Esplora oggetti fare clic sul nome del server per espanderne l'albero.

2.     Espandere Databasee, a seconda del database, selezionare un database utente o espandere Database di sistema e selezionare un database di sistema.

3.     Fare clic con il pulsante destro del mouse sul database e quindi scegliere Proprietàper visualizzare la finestra di dialogo Proprietà database .

4.     Nel riquadro Selezione pagina fare clic su Opzioni.

5.     Il modello di recupero attualmente implementato è visualizzato nella casella di riepilogo Modello di recupero .

6.     Se desiderato, è possibile modificare il modello di recupero selezionandone uno differente nell'elenco. Le scelte possibili sono Con registrazione completaCon registrazione minima delle operazioni bulkCon registrazione minima.

7.     Fare clic su OK.





Postato da: RAVEN
Postato in data: 07/Giugno/2018 alle 16:32

Isaberti ci dai un aggiornamento su questo tema che hai proposto o chiudiamo il topic per mancato interesse ?Disapprovo

-------------
Stefano Ravagni - <strong>'tanto prima o poi ti buco!'...disse il baco alla noce</strong> <br /> <br /><a href="https://www.pcprimipassi.it/d&#111;nazi&#111;ni.asp" target="_blank">SOSTIENICI</a>