Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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