Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / можно ли делать SHRINKFILE во время работы пользователей / 20 сообщений из 20, страница 1 из 1
12.08.2019, 10:35
    #39848133
trew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
можно ли делать SHRINKFILE во время работы пользователей?
DBCC SHRINKFILE (N'base_log' , 0, TRUNCATEONLY)

(а потом сразу full бэкап)
...
Рейтинг: 0 / 0
12.08.2019, 10:50
    #39848143
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
trewможно ли делать SHRINKFILE во время работы пользователей?Да.
Но лучше его никогда не делать, а тем более автоматически по расписанию.
...
Рейтинг: 0 / 0
12.08.2019, 10:57
    #39848149
trew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
alexeyvg,

Спасибо, понятно.
Место на диске мало. Вот и хочу привести файлы логов в маленькие размеры. (бэкап лога делается)
...
Рейтинг: 0 / 0
12.08.2019, 10:58
    #39848151
trew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
alexeyvg,

Сейчас и базы и бэкапы на одном диске))
Временно.
...
Рейтинг: 0 / 0
12.08.2019, 11:26
    #39848172
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
trew,

как Вам поможет шринкфайл, если размер базы завтра снова увеличится? Или оптимизируйте зранение путем нормализации данных или докупайте диски.
...
Рейтинг: 0 / 0
12.08.2019, 11:28
    #39848173
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
trew,

...

Единственное прямое назначение SHRINKFILE - это подготовка базы к резервному копированию с целью долговременного хранения или транспортировки.
...
Рейтинг: 0 / 0
12.08.2019, 12:07
    #39848220
Minamoto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
Владислав Колосовtrew,

...

Единственное прямое назначение SHRINKFILE - это подготовка базы к резервному копированию с целью долговременного хранения или транспортировки.
Это прям очень смелое заявление.
А как же такое?
Код: sql
1.
DBCC SHRINKFILE (file, EMPTYFILE);


Это какое-то кривое назначение?

Ну и еще есть рекомендации сжатия журнала транзакций для снижения фрагментации VLF'ов, например, здесь: https://www.sqlskills.com/blogs/kimberly/8-steps-to-better-transaction-log-throughput/
...
Рейтинг: 0 / 0
12.08.2019, 14:41
    #39848330
PsyMisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
trew,

Конечно, если совсем приперло, и другой опции нет - то да, можно шринкать файлы в фоне обычной работы пользователей с базой. Но, надо учесть, что:
- Могут быть сильные просадки в подсистеме I/O - экстенты грузятся с диска в память, ожидания типа PAGEIOLATCH_SH
- низкоуровневые лэтчи на объекты БД
- Задача DBCC SHRINK%object% - это прибрать по максимуму все пустые области, размеченные внутри файлов логов/данных, - поэтому он не заботится о всем том, что происходит наверху, на уровне логики, и что старательно причёсывает процесс работы с индексами, посему физический порядок страниц может быть хаотичен, как следствие - замедленные операции чтения/вставки в этом хаосе - индексные последовательности могут оказаться физически разбросаны по диску, со всеми понятными вытекающими.
Желательно сразу же сделать ребилд индексом после шринка

А вообще - лучше делать шринк, взяв БД в монопольный доступ - ALTER DATABASE SET SINGLE USER
Так же учесть, что если БД состоит из нескольких файлов, и есть желание шринкануть их всех - то эта операция последовательная, а не параллельная
...
Рейтинг: 0 / 0
12.08.2019, 15:07
    #39848351
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
Minamoto,

А миграцию в файлах в каких случаях производят? По-моему как раз в случае переезда на новый носитель. Вторая же рассмотренная ситуация - это удачное применение побочного эффекта. Устраивать же регулярный "баян", который любят рекомендовать не особо понимающие не особо понимающим на просторах инета - гораздо хуже, чем не знать о полезных качествах сжатия в _особых_ ситуациях. Просто моё мнение.
...
Рейтинг: 0 / 0
12.08.2019, 15:55
    #39848385
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
Владислав КолосовЕдинственное прямое назначение SHRINKFILE - это подготовка базы к резервному копированию с целью долговременного хранения или транспортировки.

неверно,

например, есть база 24/7 в несколько Тб, в результате чего-то-там (например, изменение архитектуры) реально оттуда используется, скажем, всего 1-2 Тб...
...
Рейтинг: 0 / 0
12.08.2019, 15:57
    #39848386
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
ну и при резервном копировании это неиспользуемое пространство не влияет на объем бэкапа
...
Рейтинг: 0 / 0
12.08.2019, 16:32
    #39848419
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
Критик,

то есть для изменения архитектуры специально единовременно расширяют хранилище? А если второй раз придется изменить архитектуру, что делать с существующими файлами на дисках, перемещать? Не слишком ли накладно, если крупные релизы происходят раз в 2-3 месяца?
...
Рейтинг: 0 / 0
12.08.2019, 16:42
    #39848428
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
Критикну и при резервном копировании это неиспользуемое пространство не влияет на объем бэкапа
Влияет.
Страница пишется в бякап целиком, независимо от заполнения.
Не пишутся только свободные страницы.
...
Рейтинг: 0 / 0
12.08.2019, 16:46
    #39848430
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
Критикну и при резервном копировании это неиспользуемое пространство не влияет на объем бэкапа
зато оно влияет на размер файлов данных/лога при восстановлении

а отсюда возникает как минимум две проблемы

1. Если нужно развернуть на каком-то другом железе, требования по свободному месту выше
2. При ресторе FULL бекапа, файл лога нужно "забить нулями", ну т.е. физически перезаписать. Следовательно, чем больше файл лога, тем дольше время восстановления.
...
Рейтинг: 0 / 0
12.08.2019, 16:49
    #39848433
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
aleks222Влияет.
Страница пишется в бякап целиком, независимо от заполнения.
Не пишутся только свободные страницы.
шринк не меняет заполненность страниц, в худшем (или лучшем) случае перемешает страницы и "хвоста" файла в начало.
...
Рейтинг: 0 / 0
12.08.2019, 18:38
    #39848489
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
Владислав КолосовКритик,

то есть для изменения архитектуры специально единовременно расширяют хранилище? А если второй раз придется изменить архитектуру, что делать с существующими файлами на дисках, перемещать? Не слишком ли накладно, если крупные релизы происходят раз в 2-3 месяца?

Зачем что-то расширять? Например, часть функционала уехала в совсем другую базу. Или перешли от подневных остатков к хранению проводок и т.д. В результате неиспользованное пространство занимает столько, насколько база не вырастет за несколько лет. И эта база периодически восстанавливается на дев/тест.
...
Рейтинг: 0 / 0
13.08.2019, 14:20
    #39848803
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
Критикну и при резервном копировании это неиспользуемое пространство не влияет на объем бэкапа
во-первых, автор шринкает лог.
а во-вторых, может быть интересен не размер бэкапа,
а размер отресторенной базы,
и если у базы терабайтный лог, как у Гавриленко,
отресторенная база, мягко говоря, не везде влезет.
а может ее несут девелоперам на сервер с небольшим диском,
да и ждать зануление терабайта не всем хочется.
-------
файлы данных тоже, бывает, надо шринкать.
на новом месте товарищи хранили файлы как на диске, так и в таблице,
т.е. было дублирование.
приняли решение хранить файлы только на диске.
в таблицу вместо файлов занесли налл.
места высвободилось 9/10 всего объема базы.
и да, шринканули базу,
ибо таскать за собой на девелоперский сервер тучу пустого места никому не надо.
а ресторим часто.
...
Рейтинг: 0 / 0
13.08.2019, 22:30
    #39849009
Mind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
Владислав Колосовtrew,

...

Единственное прямое назначение SHRINKFILE - это подготовка базы к резервному копированию с целью долговременного хранения или транспортировки.
...
Рейтинг: 0 / 0
14.08.2019, 09:36
    #39849081
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
Да тупо разработчики понаменяли в таблицах всякого, так что от таблиц - только названия остались.
Тогда Alter table rebuild по всей базе + DBCC SHRINKFILE.
У меня так один раз база из 2,5 Тб в 400 Гб превратилась.
... влезла целиком на ССД и новый сервер из плана по закупкам плавно переместился в светлое будущее.
...
Рейтинг: 0 / 0
14.08.2019, 18:07
    #39849411
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли делать SHRINKFILE во время работы пользователей
uaggster... влезла целиком на ССД и новый сервер из плана по закупкам плавно переместился в светлое будущее.

вот неумные люди, нужно было сначала закупить, а потом оптимизировать :)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / можно ли делать SHRINKFILE во время работы пользователей / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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