В даний час я запускаю скрипт, який виконує DBCC INDEXDEFRAG для кожної таблиці в базі даних SQL Server 2005, по одній таблиці за раз. Використання DBCC DBREINDEX замість INDEXDEFRAG не є можливим через обмеження місця та вимоги до часу роботи.
Я помітив, що дефрагментація деяких таблиць потребує тривалого часу. Наприклад, якщо я вивчаю динамічне подання управління "sys.dm_exec_requests", я можу побачити, що наступний INDEXDEFRAG в даний час відбивається на кластерному індексі таблиці, що має table_id 829610394:
DBCC INDEXDEFRAG (0, 829610394, 1)
Я знаю, що процес дефрагментації закінчиться довгий час. Залишаючи осторонь той факт, що сценарій, що працює в даний час, врешті-решт дефрагментує всі таблиці, чи є в мене шкода вручну запускати інший DBCC INDEXDEFRAG на кластерному індексі іншої таблиці, поки виконується поточна команда? Чи дійсно обидві таблиці будуть дефрагментовані одночасно, якщо я це зробити?