Attualmente sto eseguendo uno script che esegue un DBCC INDEXDEFRAG su ogni tabella in un database SQL Server 2005, una tabella alla volta. L'uso di DBCC DBREINDEX anziché INDEXDEFRAG non è un'opzione, a causa di vincoli di spazio e requisiti di uptime.
Ho notato che ci vuole molto tempo per deframmentare alcune tabelle. Ad esempio, se esamino la vista di gestione dinamica "sys.dm_exec_requests", vedo che il seguente INDEXDEFRAG sta sfornando l'indice cluster di una tabella che ha un table_id di 829610394:
DBCC INDEXDEFRAG (0, 829610394, 1)
So che ci vorrà molto tempo prima che il processo di deframmentazione venga completato. Tralasciando il fatto che lo script attualmente in esecuzione alla fine deframmenterà tutte le tabelle, c'è qualche danno in me che eseguo manualmente un altro DBCC INDEXDEFRAG sull'indice cluster di un'altra tabella mentre viene eseguito il comando corrente? Entrambe le tabelle verranno effettivamente deframmentate contemporaneamente se lo faccio?