Есть ли способ приблизительно определить, сколько времени займет сжатие базы данных SQL Server? Существуют ли инструменты, позволяющие сделать предположения?
У нас очень большие базы данных, поэтому было бы хорошо знать, как долго база данных будет недоступна (даже если это приблизительная оценка в часах).
Заранее спасибо!
Редко рекомендуется использовать сжатие базы данных, так как это приводит к фрагментации индекса и диска. Если вам действительно нужно сжать файл, операция выполняется в оперативном режиме и вообще не переводит базу данных в автономный режим.
Единственная веская причина, по которой я могу выполнить сжатие, - это если вы включили сжатие таблицы или имеете избыточное свободное пространство и у вас заканчивается место на диске.
восстановить базу данных на другой подобный комплект и выполнить ту же операцию.
Даже если это более старое оборудование, по крайней мере, у вас есть базовый показатель для сравнения.
Посмотрите, как запустить сжатие с опцией TRUNCATEONLY, это намного более быстрая операция и может освободить достаточно места без необходимости выполнять перемещение страниц, что вызывает блокировку таблицы.
Я не верю, что база данных будет недоступна, пока происходит сжатие. Я считаю, что это верно как для запуска DBCC SHRINKDATABASE, DBCC SHRINKFILE, так и для сжатия базы данных и \ или файлов из SSMS. База данных не переводится в однопользовательский режим при сжатии. Единственное предостережение, о котором я знаю, это то, что база данных не может быть уменьшена во время резервного копирования.