DBCC CHECKDB

La vita degli hard disk purtroppo non è infinita.
Capita che alcuni settori si danneggino, se siete fortunati questi settori ospitano i file di database di SQL server.

Se così accade l’applicazione che accede al db comincia a distribuire errori non ben identificati.
Nell’event viewer compaiono segnalazioni di errore di questo genere:


Tipo evento: Errore Origine evento: MSSQLSERVER Categoria evento: (2)

ID evento: 823

Data: 06/06/2011 Ora: 15.08.37

Utente: N/D

Computer: SERVER

Descrizione: Il sistema operativo ha restituito l'errore 23(Errore nei dati (controllo di ridondanza ciclico).) a SQL Server durante un'operazione leggere, all'offset 0x0000003b9e6000 nel file 'C:\Nomedelfile.MDF'. Per informazioni più dettagliate, vedere i messaggi aggiuntivi nel log degli errori di SQL Server e nel registro eventi di sistema. Si tratta di una condizione di errore grave a livello di sistema, che può compromettere l'integrità del database e deve essere corretta immediatamente. Eseguire un controllo di consistenza completo del database (DBCC CHECKDB). Questo errore può essere dovuto a varie cause. Per ulteriori informazioni, vedere la documentazione in linea di SQL Server.

Di solito potete trovare anche questo tipo di errori

Tipo evento: Errore

Origine evento: Disk

Categoria evento: Nessuno

ID evento: 7

Data: 06/06/2011 Ora: 16.03.44

Utente: N/D

Computer: SERVER

Descrizione: Rilevato blocco danneggiato sulla periferica \Device\Harddisk0.

Che chiariscono al meglio la gravità della situazione, se ce ne fosse bisogno.

Come se ne viene fuori?

Piano A.
Avete pianificato un backup del DB: informate il cliente, che digerisce la cosa, incrociate le dita e fate il restore del db.

Piano B.
Anche se avete un backup (perchè voi lo avete, vero?) vi piace fare le cose difficili.

  1. Lanciate da “Managmente studio” il comando di DBCC CHECKDB
  2. L’output vi conferma di effettuare il repair dei dati (una opzione che neanche MS consiglia)
  3. Buttate tutti gli utenti fuori da SQL
  4. Impostate il batabase in modalità Single user
  5. Tasto Destro -> Proprieta sul Database
  6. Scegliete la voce “Opzioni”
  7. Sezione “Stato” -> Limitazioni di accesso ed impostate a “Single user”
  8.  Chiudete tutte le connessioni al db ed apritene una nuova
  9. Lanciate la query DBCC CHECKDB (<NomeDB>, [REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD]
  10. Nel caso l’istruzione ritorni degli errori consiglio di rilanciarla un’altra volta.
  11. Reimpostare il database in modalità multi user e effettuate le verifiche del caso.
HTH
Annunci

Errore Exchange 0x8004010F

Di ritorno dalle vacanze di pasqua mi arriva fra capo e collo il solito errore di Exchange/Outlook:

Errore dell’attività Server di Microsoft Exchange (0x8004010F): “Operazione non riuscita. Impossibile trovare oggetto”

L’errore viene generato quando un utente scarica la posta tramite il client outlook.

In ufficio utilizziamo Exchange come server di posta e fax server e periodicamente qualcuno degli utenti becca questo errore. Di solito rovisto un po’ nel santo Google e trovo la soluzione.

Avevo anche messo fra i preferiti un link dove c’era descritta la procedura passo passo. Oggi scopro con orrore che hanno rimosso il sito!

Urge quindi scrivere un promemoria:

  • Collegarsi al server su cui gira Exchange
  • Lanciare il software “Gestore di sistema di Exchange”
  • Navigare Destinatari -> Elenchi di indirizzi non in linea e selezionarlo
  • Nella parte sinistra selezionare con il tasto destro “Elenco di indirizzi non in linea predefinito” (dovrebbe essere l’unica voce) e scegliere la voce “Ricostruisci” dal menu contestuale.
Echange Rebuild
  • Rispondere OK al successivo messaggio di conferma (incrociando le dita)
Echange Rebuild
  • Chiamare il cliente che ha segnalato l’errore per le verifiche del caso

Pen drive mounting

Breve promemoria: Fra i diversi metodi per l’installazione di linux si possono utilizzare distribuzioni live trasferite su pen drive usb, soluzione praticamente obbligatoria se avete un subnotebook (eeepc, acer one et similia) sprovvisto di lettore cd rom.

Riavviato il sistema, è possibile che non si riesca più a montare il pen drive utilizzato per l’installazione, o magari anche altri dispositivi rimovibili.

A nulla serve la formattazione della nostra amata chiave usb. Persino  se la proviamo su altri sistemi, magari  windows, riusciamo a leggere i dati memorizzati.

L’interrogazione tramite dmesg | tail ci ritorna un messaggio del genere

~$ dmesg | tail
[ 452.322148] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[ 452.325759] sd 4:0:0:0: [sdb] 8058880 512-byte hardware sectors (4126 MB)
[ 452.326506] sd 4:0:0:0: [sdb] Write Protect is off
[ 452.326516] sd 4:0:0:0: [sdb] Mode Sense: 23 00 00 00
[ 452.326523] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[ 452.326534] sdb: sdb1
[ 452.328080] sd 4:0:0:0: [sdb] Attached SCSI removable disk
[ 452.328183] sd 4:0:0:0: Attached scsi generic sg1 type 0
[ 315.363762] UDF-fs: No VRS found
[ 315.385474] ISOFS: Unable to identify CD-ROM format.

Questo perchè il processo di installazione crea una entry nel file /etc/fstab mappando il pen drive come se fosse un cd rom. Per inciso, fsttab rappresenta la tabella dove vengono memorizzate i dischi fisici di linux, cd rom compresi.

Apriamo il file /etc/fstab con il nostro editor preferito e ricerchiamo la stringa cdrom

~$sudo mousepad /etc/fstab
# /etc/fstab: static file system information.
#
#
...
/dev/sdb1 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
...

Individuta la riga del file incriminata passiamo a commentarla inserendo il carattere # all’inizio della riga.
Salvate, e riproviamo ad inserire la chiave usb incrociando le dita.

OpenVPN #3. Configuriamo il client, test e messa in produzione.

Finalmente un po’ di tempo per comporre l’ultimo post della saga OpenVPN.

Nei post precedenti abbiamo visto come generare i files delle chiavi di autenticazione e come installare il server.

In questa ultima capitolo installeremo la componente client, la proveremo all’interno della nostra rete locale ed infine configureremo il nostro router per accettare le richieste dai client remoti e girarle al server di openVPN.

Continua a leggere