come riparare un server Sql

 

Buongiorno cari lettori, in questo articolo vi spiegherò come riparare un server sql.

 I programmi lavorano con i database, e se il database si blocca le informazioni essenziali possono essere perse e questo sarà disastroso per l'utente. Quindi quali sono le opzioni?

I programmatori dicono che ogni programma ha un errore, anche se è solo uno e se siete mai stati a stretto contatto con il software del computer, capirete che anche il miglior software può funzionare male a volte.


Come riparare un database sospetto in SQL Server


A volte il lavoro e la vita delle persone dipendono dalla funzionalità del software, altre volte può essere il loro benessere finanziario o la loro salute. Questo è il motivo per cui è così importante che quando un software funziona male, venga rapidamente riportato alla sua normale condizione di lavoro.



I programmi lavorano con i database, e se il database si blocca le informazioni essenziali possono essere perse e questo sarà disastroso per l'utente. La maggior parte dei database opera sul server Microsoft SQL e ci vuole molto tempo e forza per recuperare se succede qualcosa al server.


Come riparare un database sospetto in SQL Server


Ci sono diversi modi per ripristinare il database se gli succede qualcosa, ma il primo deve capire la tabella delle pagine sospette. Le informazioni nella tabella delle pagine sospette sono disponibili a chiunque abbia accesso al database MSDB, e possono essere aggiornate da chiunque abbia il permesso di aggiornamento. I membri del ruolo fisso DB owner in MSDB o del ruolo fisso sysadmin possono inserire, aggiornare e cancellare i record.




Metodi di recupero del database dalla modalità sospetta:

Ripristino dello stato del database + DBCC CHECKDB


DBCC CHECKDB


Utilizzare il software di terze parti Recovery Toolbox for SQL Server 


La tabella delle pagine sospette contiene informazioni sulle pagine potenzialmente corrotte e viene usata quando si decide se recuperare le pagine. La tabella delle pagine sospette si trova nel database MSDB.


Una pagina è considerata "sospetta" se uno dei seguenti errori viene riscontrato quando il Database Engine di SQL Server tenta di leggerla.


Errore 823: Che si verifica durante un controllo del checksum ciclico (CRC) lanciato dal sistema operativo, come un errore del disco (si verifica con alcuni errori hardware)

Errore 824: Come un'interruzione di pagina (o qualsiasi altro errore logico)

L'ID di ogni pagina "sospetta" è registrato nella tabella delle pagine sospette. In questa tabella, il Database Engine registra tutte le pagine sospette che incontra durante l'elaborazione, in particolare:


Quando elabora una richiesta.

Quando viene eseguito DBCC CHECKDB.

Durante un'operazione di backup.

Durante un'operazione di ripristino, DBCC fix, o drop del database, anche la tabella delle pagine sospette viene aggiornata secondo necessità.


Quindi, ecco diversi modi per ripristinare i database quando vanno in "Suspect Mode".


Metodo 1.

Nel mio lavoro, una volta ho incontrato una situazione in cui il database di lavoro alla fine della giornata è andato in "Suspect Mode", ed è stato archiviato molte ore prima. Non era possibile tornare alla modalità normale finché la base non fosse stata riparata. Anche DBCC checkdb si rifiutava di partire.


Questo è stato molto frustrante per me finché non ho scoperto una soluzione. Ecco i passi del primo metodo per ripristinare un database.


Per prima cosa, è necessario passare il database alla modalità EMERGENZA facendo quanto segue: 


EXEC sp_resetstatus 'yourDBname';

ALTER DATABASE yourDBname SET EMERGENCY

In secondo luogo, poi testate il database:


DBCC checkdb ('yourDBname')

ALTER DATABASE yourDBname SET SINGLE_USER WITH ROLLBACK IMMEDIATE

DBCC CheckDB ('yourDBname', REPAIR_ALLOW_DATA_LOSS)

ALTER DATABASE yourDBname SET MULTI_USER



Metodo 2. 

Se la base non può essere ripristinata da 1C


Se vi trovate di fronte a un database del server (MS SQL 2005) danneggiato, che funziona male, ed è impossibile da recuperare tramite test-fixing (si verifica un errore di checksum). In questo caso, il database non viene caricato in un file - lo stesso errore. Se hai provato più volte e continua a fallire, devi provare a ripristinare il database testando l'SQL stesso. 


Ecco i comandi:


DBCC CHECKDB ('database', REPAIR_FAST)

DBCC CHECKDB ('database', REPAIR_REBUILD)

Se questi due non funzionano, allora si può usare il terzo, ma porta con sé una possibile perdita di dati ed è consigliabile usarlo come ultima risorsa.


DBCC CHECKDB ('database', REPAIR_ALLOW_DATA_LOSS)


Se il comando non viene eseguito a causa della modalità non single-user, allora si può andare con il comando


Alter database db-name set SINGLE_USER


Prima di testare, è necessario fare un backup!


spero che questo articolo ti sia piaciuto, e ci vedremo ad un prossimo.

Post più popolari