Способы оценки времени для сокращения базы данных на SQL Server

Есть ли способ приблизить, сколько времени займет сокращение базы данных SQL Server? Существуют ли инструменты, которые могут дать некоторые предположения?

У нас очень большие базы данных, поэтому было бы хорошо знать, как долго база данных будет недоступна (даже если приблизительная оценка в часах).

Заранее спасибо!

3 ответа

Решение

Сжатие базы данных редко рекомендуется, так как это приводит к фрагментации индекса и диска. Если вам нужно сжать файл, эта операция является онлайн-операцией и вообще не переводит базу данных в автономный режим.

Я не верю, что база данных будет недоступна, пока происходит сжатие. Я полагаю, что это справедливо как для запуска DBCC SHRINKDATABASE, DBCC SHRINKFILE, так и для сокращения базы данных и \ или файлов из SSMS. База данных не переводится в однопользовательский режим при сокращении. Единственное предостережение, о котором я знаю, это то, что база данных не может быть сокращена во время резервного копирования.

Единственная действительная причина, по которой я могу подумать, чтобы выполнить сжатие, - это если вы включили сжатие таблицы или у вас слишком много свободного места и у вас заканчивается свободное место на диске.

восстановить базу данных на другой подобный комплект и выполнить ту же операцию.
Даже если это старое оборудование, по крайней мере, у вас есть базовый уровень для сравнения.

Обратите внимание на запуск сжатия с параметром TRUNCATEONLY, это намного более быстрая операция и может освободить достаточно места без необходимости перемещения страниц, что и вызывает блокировку таблицы.

Другие вопросы по тегам