|
Сжатие
|
|||
---|---|---|---|
#18+
Здравствуйте. Помогите мне пожалуйста разобраться с ниже описанной проблемой. Я новичек по работе с СУБД и после чтения документации у меня возникают вопросы по работе с журналом транзации (далее ЖТ) при работе в полной модели восстановления. Если я правильно прочитал при бэкапе ЖТ в полной модели восст. он усекает данные, на месте которых ЖТ будет "ставить" новые. И вопрос у меня потом по сжатию, после усечения я произвожу "ручное" сжатие через gui, в окне выбрал тип файла "Журнал", проверил что после усечения у меня стало выделено места столько сколько примерно вести ldf файл. и потом я выбираю пункт "Освободить неиспользуемое место" в разделе "Операция сжатия". Но после нажатия "ОК", процесс не идет и окно по сжатию просто закрывается без какой либо информации. Файл ldf не уменьшился. Я знаю, что есть метод по сжатию ldf с помощью перехода на simple и обратно (если надо), но меня больше интересует теория, как сжимается ldf файл на полной модели восстановления. Буду благодарен за информацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 08:32 |
|
Сжатие
|
|||
---|---|---|---|
#18+
R0ootru, А зачем сжимать журнал БД в full recovery? Чтобы он потом вырос обратно? Или у вас задача погреть сервер? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 10:04 |
|
Сжатие
|
|||
---|---|---|---|
#18+
R0ootru, Херней не занимайтесь. Не нужно после любых регламентных работ физические файлы уменьшать в размере. Файл следует уменьшать в размере толтко в том случае если он у вас занял ВСЕ дисковое пространство и это мешаетработе сервера. В любых других случаях пусть будет того объема до которого он вырос ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 10:10 |
|
Сжатие
|
|||
---|---|---|---|
#18+
R0ootru но меня больше интересует теория, как сжимается ldf файл на полной модели восстановления. Буду благодарен за информацию. Краткое изложение теории "сжимания ldf на полной модели восстановления" для чайников: 1. Усекается ТОЛЬКО свободный хвост файла. 2. Если в конце файла есть используемые области - ничего не усекается. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2021, 10:15 |
|
Сжатие
|
|||
---|---|---|---|
#18+
aleks222, спасибо, это закрывает вопрос с усечением. Тогда шринк на полной модели восстановления вообще отсутствует, я правильно понял? Бэкапы усекают неактивную часть ЖТ, но с сжатием (тут главная цель уменьшение ldf файла) после бэкапа (усечения) я не разобрался на полной модели восстановления. Объясните еще этот момент пожалуйста. . ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 03:06 |
|
Сжатие
|
|||
---|---|---|---|
#18+
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 в два захода. так-же можно поэксперементировать выполняя эти операции при заполнении тестовой таблицы мусорными данными напр. в миллион строк и удалением их большей части при этом наблюдая за изменением размеров файлов ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 03:40 |
|
Сжатие
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 10:26 |
|
|
start [/forum/topic.php?fid=46&msg=40121590&tid=1683997]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 275ms |
0 / 0 |