Когда необходима уверенность

Время работы службы поддержки:
понедельник — пятница,
(кроме выходных и праздничных дней)

с 8:00 до 20:00
(по московскому времени)

Телефон для звонков по Москве и Московской обл.
+7 (495) 565-31-12

Бесплатный телефон для звонков по России
8 800 333-14-98

Загрузить TeamViewer Удалённая поддержка

После обрезания лога транзакций, файл базы данных не уменьшился
Опубликовано Алексей Соловьев, Последний редактор: Семён Пивоваров вкл 16 Июнь 2016 18:21

После обрезания лога транзакций - файл базы данных не уменьшился!

Для уменьшения базы данных необходимо сделать сжатие базы данных. Инструмент для данной процедуры SQL Server Management Studio Express

Каждый файл базы данных может быть сжат с помощью удаления неиспользуемых страниц. Хотя компонент Database Engine эффективно использует дисковое пространство, возникают ситуации, когда файлам больше не требуется такой объем, как раньше. Это может привести к необходимости сжатия файла. Файлы данных и журналов транзакций можно уменьшать (сжимать). Предусмотрена возможность сжатия файлов базы данных вручную (как группы или по отдельности) или автоматически через определенные промежутки времени.

Сжатие файлов всегда ведется с конца. Например, если имеется файл размером 5 ГБ и при этом в качестве значения аргумента target_size инструкции DBCC SHRINKFILE задано 4 ГБ, компонент Database Engine освободит максимальный объем дискового пространства из последнего гигабайта файла. Если в освобождаемой части файла имеются занятые страницы, компонент Database Engine сначала переместит их в сохраняемую часть. Сжать базу данных можно только до той степени, пока в ней не останется свободного места. Например, если база данных размером 5 ГБ содержит 4 ГБ данных, а в качестве значения аргумента target_size инструкции DBCC SHRINKFILE задано 3 ГБ, будет освобожден только 1 ГБ.

Автоматическое сжатие базы данных
 
Если параметр базы данных AUTO_SHRINK установлен в значение ON, компонент Database Engine автоматически сжимает базы данных, в которых имеется свободное место. Этот параметр настраивается с помощью инструкции ALTER DATABASE. По умолчанию этот параметр имеет значение OFF. Компонент Database Engine периодически проверяет использование дискового пространства в каждой базе данных. Если параметру AUTO_SHRINK в базе данных присвоено значение ON, компонент Database Engine уменьшает размер файлов этой базы данных. Эта операция выполняется в фоновом режиме и не влияет на действия пользователя в базе данных.
 
Сжатие базы данных вручную
 
 
Действия для того, чтобы сжать файл базы данных:
1. Выбрать базу данных в SQL Server Management Studio Express

2. Нажать правой клавишей мыши и в списке выбрать пункт Task

3. В открывшемся меню выбрать SHRINK

4. Выбрать database, далее ОК.

5. Дождаться окончания процесса

С помощью инструкции DBCC SHRINKDATABASE нельзя сжимать всю базу данных до размера, который меньше исходного. Поэтому, если база данных была создана с размером 10 МБ и потом увеличилась до 100 МБ, ее можно сжать только до 10 МБ, даже если все данные удалены из базы данных.

Пример, команды для сжатия базы данных parsec3trans 

dbcc shrinkdatabase (parsec3trans, 10)

ПримечаниеПримечание

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

(10 голос(а))
Эта статья помогла
Эта статья не помогла

Комментарии (0)
Добавить новый комментарий
 
 
Ваше имя:
Email:
Комментарии:
Проверка CAPTCHA 
 
Пожалуйста, введите текст с картинки, расположенной ниже. Это необходимо для предотвращения автоматической регистрации и отправки данных через форму.

Parsec ® 2011–2018 Профессиональные системы контроля и управления доступом.
Политика конфиденциальности | Использование cookies