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