SQLServerITA

SQL Server e non solo

  • novembre: 2011
    L M M G V S D
    « Ott   Dic »
     123456
    78910111213
    14151617181920
    21222324252627
    282930  
  • Blog Stats

    • 16,179 hits
  • Inserisci il tuo indirizzo e-mail per iscriverti a questo blog e ricevere notifiche di nuovi messaggi per e-mail.

    Segui assieme ad altri 6 follower

SQL Server: DBCC CHECKDB blocca il database?

Posted by belthazor78 su 28 novembre 2011


Poco tempo fa parlavo circa il backup di SQL Server e un eventuale lock che poteva mettere su tabelle e database. Vi avevo detto che un BACKUP non pone alcun lock.

E per quanto riguarda il comando DBCC CHECKDB? Tale comando, giusto per ricordarvelo, è necessario per analizzare un database a livello fisico e logico e capire se i sono problemi nella loro integrità; tale comando è utile da eseguire specialmente prima di eseguire un backup per essere sicuri di fare un backup di un database in stato ottimale.

Per questo comando, come per quello di backup, non viene posto alcun lock sul database; questo accadeva solo nella versione 7 (o prima) ma dalla versione 2000 in poi nessun blocco viene posto durante l’esecuzione del CHECKDB. Sempre come per il comando di BACKUP è l’intensa attività I/O che può far sembrare che il database sia in qualche modo bloccato da tale comando. E questo è spiegato perchè all’inizio del comando viene eseguito uno snapshot del database e solo su questo snapshot viene eseguito il comando CHECKDB.

Volendo si può dare al comando CHECKDB la possibilità di bloccare il database  (WITH TABLOCK) solo per poter eseguire più velocemente tale comando (anche se non sempre si ha un gran risparmio in termini di esecuzione). Con tale hint, WITH TABLOCK, non viene creato alcun snapshot e il comando viene eseguito sul dato reale del database e viene posto un lock di tipo “short-term exclusive lock”.

Maggiori info:

http://sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%28230%29-DBCC-CHECKDB-causes-blocking.aspx

http://www.mssqltips.com/sqlservertip/2399/minimize-performance-impact-of-sql-server-dbcc-checkdb/

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: