powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сжатие
7 сообщений из 7, страница 1 из 1
Сжатие
    #40120896
R0ootru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Помогите мне пожалуйста разобраться с ниже описанной проблемой.
Я новичек по работе с СУБД и после чтения документации у меня возникают вопросы по работе с журналом транзации (далее ЖТ) при работе в полной модели восстановления. Если я правильно прочитал при бэкапе ЖТ в полной модели восст. он усекает данные, на месте которых ЖТ будет "ставить" новые. И вопрос у меня потом по сжатию, после усечения я произвожу "ручное" сжатие через gui, в окне выбрал тип файла "Журнал", проверил что после усечения у меня стало выделено места столько сколько примерно вести ldf файл. и потом я выбираю пункт "Освободить неиспользуемое место" в разделе "Операция сжатия". Но после нажатия "ОК", процесс не идет и окно по сжатию просто закрывается без какой либо информации. Файл ldf не уменьшился. Я знаю, что есть метод по сжатию ldf с помощью перехода на simple и обратно (если надо), но меня больше интересует теория, как сжимается ldf файл на полной модели восстановления. Буду благодарен за информацию.
...
Рейтинг: 0 / 0
Сжатие
    #40120918
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R0ootru,

А зачем сжимать журнал БД в full recovery? Чтобы он потом вырос обратно?

Или у вас задача погреть сервер?
...
Рейтинг: 0 / 0
Сжатие
    #40120920
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R0ootru,

Херней не занимайтесь. Не нужно после любых регламентных работ физические файлы уменьшать в размере. Файл следует уменьшать в размере толтко в том случае если он у вас занял ВСЕ дисковое пространство и это мешаетработе сервера. В любых других случаях пусть будет того объема до которого он вырос
...
Рейтинг: 0 / 0
Сжатие
    #40120927
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R0ootru
но меня больше интересует теория, как сжимается ldf файл на полной модели восстановления. Буду благодарен за информацию.

Краткое изложение теории "сжимания ldf на полной модели восстановления" для чайников:

1. Усекается ТОЛЬКО свободный хвост файла.
2. Если в конце файла есть используемые области - ничего не усекается.
...
Рейтинг: 0 / 0
Сжатие
    #40121521
R0ootru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222, спасибо, это закрывает вопрос с усечением. Тогда шринк на полной модели восстановления вообще отсутствует, я правильно понял? Бэкапы усекают неактивную часть ЖТ, но с сжатием (тут главная цель уменьшение ldf файла) после бэкапа (усечения) я не разобрался на полной модели восстановления. Объясните еще этот момент пожалуйста.

.
...
Рейтинг: 0 / 0
Сжатие
    #40121525
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R0ootru,

для новичков работающих через UI в SSMS очень полезна опция Script вместо выполнения команды,
причём не только для дефолтно выбранного варианта
Release unused space (там где для dbcc shrinkfile стоит trunaceteonly)
а так-же и для Reorganize pages.. и Empty file by migrating the data..
открывшиеся скрипты естественно сразу должны натолкнуть на чтение соответствующей документации и конкретнее по части шринка лога
https://docs.microsoft.com/ru-ru/sql/t-sql/database-console-commands/dbcc-shrinkfile-transact-sql?view=sql-server-ver15#shrinking-a-log-file
разнице между логическим и виртуальным логом и иногда к выполнению операции dbcc shrinkfile в два захода.

так-же можно поэксперементировать выполняя эти операции при заполнении тестовой таблицы мусорными
данными напр. в миллион строк и удалением их большей части при этом наблюдая за изменением размеров файлов
...
Рейтинг: 0 / 0
Сжатие
    #40121590
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R0ootru
aleks222, спасибо, это закрывает вопрос с усечением. Тогда шринк на полной модели восстановления вообще отсутствует, я правильно понял? Бэкапы усекают неактивную часть ЖТ, но с сжатием (тут главная цель уменьшение ldf файла) после бэкапа (усечения) я не разобрался на полной модели восстановления. Объясните еще этот момент пожалуйста.

.


Ну ты тормоз.
1. Если у вас НИКТО не работает в базе, то ПОСЛЕ бякапа лога все виртуальные файлы журнала освобождаются. И усечение замечательно работает.
2. Если у вас РАБОТАЮТ в базе то ПОСЛЕ бякапа лога все виртуальные файлы журнала освобождаются, НО пока там суть да дело может быть открыта новая транзакция с КОНЦЕ журнала. И она уже не будет освобождена. И усечение НЕ работает.
3. Кроме того есть еще причины, по которым виртуальные файлы журнала не освобождаются.
https://docs.microsoft.com/ru-ru/sql/relational-databases/logs/troubleshoot-a-full-transaction-log-sql-server-error-9002?view=sql-server-ver15
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сжатие
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]