powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / При шринке БД лог растет?
14 сообщений из 14, страница 1 из 1
При шринке БД лог растет?
    #39985508
ssms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.




Подскажите растет ли лог при шлинке файла данных?




По идее не должен, но хочу убедится...



Смысл такой что место кончилось - надо шринкануть файл данных, а под лог места в притык.
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39985509
ssms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
файл большой (
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39985568
Uridian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В журнал транзакций записываются различные типы операций, например:
- любое выделение и освобождение страниц и экстентов;
отсюда
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39985574
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ssms
Добрый день.




Подскажите растет ли лог при шлинке файла данных?




По идее не должен, но хочу убедится...



Смысл такой что место кончилось - надо шринкануть файл данных, а под лог места в притык.


Вы собираетесь файл данных с truncate only шинковать?

Если так, то почти ничего не запишется.
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39985577
ssms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Uridian
В журнал транзакций записываются различные типы операций, например:
- любое выделение и освобождение страниц и экстентов;
отсюда


Получается что если файл данных 1000Гб.

При ужатии его до 900 Гб в лог запишется 100Гб ?



А как это, одной транзакцией идет? Т.е. если база в симпл то все равно 100 гб в лог пойдет одним куском?
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39985582
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ssms
Uridian
В журнал транзакций записываются различные типы операций, например:
- любое выделение и освобождение страниц и экстентов;
отсюда


Получается что если файл данных 1000Гб.

При ужатии его до 900 Гб в лог запишется 100Гб ?



А как это, одной транзакцией идет? Т.е. если база в симпл то все равно 100 гб в лог пойдет одним куском?
Ответ "нет" на все вопросы.
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39985599
ssms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич
ssms
пропущено...


Получается что если файл данных 1000Гб.

При ужатии его до 900 Гб в лог запишется 100Гб ?



А как это, одной транзакцией идет? Т.е. если база в симпл то все равно 100 гб в лог пойдет одним куском?
Ответ "нет" на все вопросы.


Сергей, суть пробемы в том, что лог просто микроскопический, 50 Мб.

Возможно ли выполнение шринка на 100Гб с таким милипусеньким логом когда БД в смпл?
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39985617
Uridian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ssms
Uridian
В журнал транзакций записываются различные типы операций, например:
- любое выделение и освобождение страниц и экстентов;
отсюда


Получается что если файл данных 1000Гб.

При ужатии его до 900 Гб в лог запишется 100Гб ?

"Рассуждая логически", при шринке освобождаются исключительно неиспользуемые страницы/экстенты, то есть не содержащие таких данных, которые должны быть восстановлены при откате. Следовательно, нет необходимости копировать их содержимое в журнал транзакций.
Но как там на самом деле реализовано, точно не знаю.))
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39985633
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uridian
ssms
пропущено...


Получается что если файл данных 1000Гб.

При ужатии его до 900 Гб в лог запишется 100Гб ?

"Рассуждая логически", при шринке освобождаются исключительно неиспользуемые страницы/экстенты, то есть не содержащие таких данных, которые должны быть восстановлены при откате. Следовательно, нет необходимости копировать их содержимое в журнал транзакций.
Но как там на самом деле реализовано, точно не знаю.))
При шринке еще может быть выполнено перемещение страниц с данными с конца файла в другое место. Однако, скорее всего, атомарной операцией считается перенос одной страницы, а не всех разом. Поэтому на шринк плюс-минус надо столько, сколько занимает залогировать перенос одной страницы. Это если говорить про simple.
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39985634
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shrinking data files recovers space by moving pages of data from the end of the file to unoccupied space closer to the front of the file. When enough free space is created at the end of the file, data pages at end of the file can be deallocated and returned to the file system.

https://docs.microsoft.com/en-us/sql/relational-databases/databases/shrink-a-database?view=sql-server-ver15
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39986379
ssms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич
Uridian
пропущено...

"Рассуждая логически", при шринке освобождаются исключительно неиспользуемые страницы/экстенты, то есть не содержащие таких данных, которые должны быть восстановлены при откате. Следовательно, нет необходимости копировать их содержимое в журнал транзакций.
Но как там на самом деле реализовано, точно не знаю.))
При шринке еще может быть выполнено перемещение страниц с данными с конца файла в другое место. Однако, скорее всего, атомарной операцией считается перенос одной страницы, а не всех разом. Поэтому на шринк плюс-минус надо столько, сколько занимает залогировать перенос одной страницы. Это если говорить про simple.



Итак.

Шринк более чем размер лога не сработал.

Отвалился вот с такой ощибкой:

A severe error occurred on the current command. The results, if any, should be discarded.


Если меньше чем размер лога - один раз отрезал мааааленький кусочек.
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39986447
ssms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
странно.

лог когда смог увеличить до 8Гб.

он заполняется не более чем на 25% при шринке.
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39986558
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ssms,

множество было тем по поводу шринка лога и данных.
В справке эта тема раскрыта.
В гугле на шринк лога есть исчерпывающая информация зачем, почему и как.
Если хочется методом тыка разбираться - то конечно продолжайте на свой страх и риск.
...
Рейтинг: 0 / 0
При шринке БД лог растет?
    #39986567
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще я понял, что не знаю как работает шринк. Есть полно руководств зачем делать шринк, как делать, как не делать, почему не делать, какие последствия. Но не могу найти ничего про то, как сервер это собственно выполняет - использует ли он лог, если шринкуется датафайл (казалось бы зачем, если никакого буфера транзакционного нет, а данные двигаются по диску), есть ли атомарность в этой служебной процедуре вообще и так далее.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / При шринке БД лог растет?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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