Мастер планов обслуживания (страница «Определение задачи сжатия базы данных»)
На странице Определение задачи сжатия базы данных можно создать задачу, в ходе которой произойдет попытка уменьшить размер выбранных баз данных. Перечисленные ниже параметры используются для определения количества неиспользуемого пространства, которое должно остаться в базе данных после сжатия (чем больше процент, тем меньше сжимается база данных). Это значение определяется долей фактических данных в базе данных. Например: 100-мегабайтная база данных, содержащая 60 МБ данных и 40 МБ свободного пространства с заданным значением свободного пространства, равным 50 процентам, будет содержать 60 МБ данных и 30 МБ свободного пространства (поскольку 50 процентов от 60 МБ равно 30 МБ). Удаляется только лишнее пространство в базе данных. Допустимые значения: от 0 до 100.
Сжатие файлов данных освобождает место за счет перемещения страниц данных из конца файла на пустое место ближе к началу файла. Как только в конце файла стало достаточно свободного места, страницы данных в конце файла можно освободить и вернуть в файловую систему.
Внимание! |
|---|
Данные, перемещаемые в результате сжатия файла, могут быть разбросаны по любым его фрагментам. Это приводит к фрагментации индекса и может снизить производительность обработки запросов, которые производят поиск в диапазоне индекса. Для предотвращения фрагментации после сжатия необходимо перестроить индексы в файле. |
Задача использует инструкцию DBCC SHRINKDATABASE с параметром NOTRUNCATE или TRUNCATEONLY.
Параметры
Базы данных
Укажите базы данных, для которых должна выполняться эта задача.Все базы данных
Позволяет сформировать план обслуживания, который производит запуск этой задачи для всех баз данных Microsoft SQL Server, за исключением tempdb.
Все системные базы данных
Создать план обслуживания, который производит запуск этой задачи по отношению к каждой системной базе данных служб SQL Server, за исключением базы данных tempdb. Для баз данных, созданных пользователями, задачи обслуживания выполняться не будут.
Все пользовательские базы данных
Создать план обслуживания, который производит запуск этой задачи по отношению ко всем базам данных, созданных пользователем. Для системных баз данных SQL Server задачи обслуживания выполняться не будут.
Эти отдельные базы данных
Создать план обслуживания, который производит запуск этой задачи по отношению только к выбранным базам данных. При выборе этого параметра необходимо выбрать хотя бы одну базу данных из списка.
Сжатие базы данных при превышении ею размера
Задайте размер в мегабайтах, при превышении которого выполняется задача.Объем свободного места после сжатия
Прекращение сжатия по достижении заданного размера свободного пространства в базе данных.Удерживание свободного места в файлах базы данных
База данных сжимается до состояния непрерывных страниц, но страницы не освобождаются, и файлы базы данных не сжимаются. С помощью этого параметра можно предусмотреть ситуацию, когда в будущем ожидается повторное увеличение базы данных, и поэтому не нужно перераспределять пространство. Этот параметр не позволяет достичь максимальной степени сжатия файлов базы данных. В этом случае используется параметр NOTRUNCATE.Возвращение освободившегося места в операционную систему
База данных сжимается до состояния непрерывных страниц, и страницы возвращаются обратно в операционную систему, где они могут использоваться другими программами. Файлы этой базы данных максимально сжимаются. В этом случае используется параметр TRUNCATEONLY.
Внимание!