Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сжатие базы sql / 25 сообщений из 28, страница 1 из 2
28.03.2021, 14:59
    #40057548
pinbalist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
Добрый день.

Есть сервер с mssql, на нём есть база 1с. База доросла до больших размеров и было решено её сжать.
Вечером пятницы размер базы был 92Гб, и sql мог сжать её на 12Гб, так и произошло. Утром в вскр решил посмотреть как дела и вижу что теперь размер базы 100Гб и сжать её можно на 17Гб.
Это как так?!
За это время с базой никто не работал. Я читал что возможен быстрый откат базы к прежнему размеру, но не за день простоя же и не с превышением старого размера.
Кто что может посоветовать? Как правильно её сжать чтобы она не разжалась так быстро?

С sql опыт работы минимальный.

Благодарю за помощь.
...
Рейтинг: 0 / 0
28.03.2021, 15:23
    #40057552
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
1. Когда с базой "не работают" - она "не растет". Чудес MS SQL творить не умеет.
2. "Размеры базы" складываются из "размеров файлов данных" и "размеров журнала транзакций".
3. Очень полезно указать "что именно выросло".
...
Рейтинг: 0 / 0
28.03.2021, 17:47
    #40057569
pinbalist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
aleks222


Да, забыл самое главное :)
Вырос именно файл БД.
...
Рейтинг: 0 / 0
28.03.2021, 17:53
    #40057570
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist
aleks222


Да, забыл самое главное :)
Вырос именно файл БД.

Теперь тебе осталось найти трудоголика, работающего по выходным.
Или джоб, какой-нибудь "реиндексации".
Ибо сам по себе сервер MS SQL ничего в базу не пишет.

ЗЫ. Хотя, лично я сомневаюсь, что ты способен отличить "файл базы данных" от "файла журнала транзакций".
...
Рейтинг: 0 / 0
29.03.2021, 06:08
    #40057653
pinbalist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
aleks222

Теперь тебе осталось найти трудоголика, работающего по выходным.
Или джоб, какой-нибудь "реиндексации".
Ибо сам по себе сервер MS SQL ничего в базу не пишет.

ЗЫ. Хотя, лично я сомневаюсь, что ты способен отличить "файл базы данных" от "файла журнала транзакций".


Есть две задачи: Rebuild_Index_Task и Reorganize_Index_Task. Созданы, типа, для "оптимизации".

"Хотя, лично я сомневаюсь, что ты способен отличить "файл базы данных" от "файла журнала транзакций"" - это к чему было сказано?
Для самоутверждения?
...
Рейтинг: 0 / 0
29.03.2021, 07:28
    #40057659
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
aleks222
1. Когда с базой "не работают" - она "не растет". Чудес MS SQL творить не умеет.

"Фоновые операции" иногда творят странные вещи.
...
Рейтинг: 0 / 0
29.03.2021, 07:36
    #40057661
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
982183
aleks222
1. Когда с базой "не работают" - она "не растет". Чудес MS SQL творить не умеет.

"Фоновые операции" иногда творят странные вещи.

Конкретнее надо.
Имя "фоновой операции"?
Иначе балабольство получается.
...
Рейтинг: 0 / 0
29.03.2021, 08:44
    #40057672
RedBird
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist,

Вопрос не в размере БД и/или ее файлов. Вопрос в производительности запросов к БД.
Назовите причину по которой вы решили сжать файлы БД.
...
Рейтинг: 0 / 0
29.03.2021, 10:55
    #40057695
pinbalist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
RedBird
pinbalist,

Вопрос не в размере БД и/или ее файлов. Вопрос в производительности запросов к БД.
Назовите причину по которой вы решили сжать файлы БД.


База скоро перестанет помещаться на диске. Заблаговременно хочется предотвратить.
...
Рейтинг: 0 / 0
29.03.2021, 11:03
    #40057698
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist
RedBird
pinbalist,

Вопрос не в размере БД и/или ее файлов. Вопрос в производительности запросов к БД.
Назовите причину по которой вы решили сжать файлы БД.


База скоро перестанет помещаться на диске. Заблаговременно хочется предотвратить.


Если крохотная база в 92 ГБ перестаёт помещаться на диске - надо не базу сжимать, а писать служебку на покупку нового диска. И на оперативку заодно - оперативка серверу никогда лишней не будет.
...
Рейтинг: 0 / 0
29.03.2021, 11:11
    #40057702
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist


База скоро перестанет помещаться на диске. Заблаговременно хочется предотвратить.



покажите результат выполнения в вашей базе:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
SELECT	
		db_name() [DB]
		,isnull(ds.name,'Not Applicable') as [FileGroup]
		,df.file_id
		,df.name as [FileName]
		,df.type_desc as [Type]
		,df.physical_name
		,convert(int,size/128.) [Size (MB)]
		,convert(int,FILEPROPERTY(df.name, 'SpaceUsed')/128.) [Used Space (MB)]
		,convert(int,size/128.0 - FILEPROPERTY(df.name, 'SpaceUsed') /128.) AS [Available Space (MB)]
		,df.state_desc as [Status]

	 ,case 
		when df.max_size=-1 then 'Unlimited'
		else convert(varchar(50),ceiling(df.max_size/128.)) 
	end as [Max Size (MB)]

	 ,case 
		when df.is_percent_growth=1 then convert(varchar(20),df.growth)+'%'
		else 
		convert(varchar(20),convert(int,df.growth/128.))+' MB' 
	end as [Growth]

	,df.is_read_only
	,df.is_media_read_only
	,df.is_sparse

	FROM sys.database_files df 
		left join sys.data_spaces ds on df.data_space_id=ds.data_space_id 
	order by df.file_id 
...
Рейтинг: 0 / 0
31.03.2021, 06:43
    #40058383
pinbalist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
komrad


покажите результат выполнения в вашей базе:



Я так понимаю что в этот код нужно где-то вставить имя интересующей базы? Если выполнять код как есть - он показывает инфу по базе master
...
Рейтинг: 0 / 0
31.03.2021, 09:14
    #40058404
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist
komrad


покажите результат выполнения в вашей базе:



Я так понимаю что в этот код нужно где-то вставить имя интересующей базы? Если выполнять код как есть - он показывает инфу по базе master


в приложении нужно сменить контекст на вашу базу или дописать в начало скрипта следующее:
Код: sql
1.
2.
use [вашабаза]
go
...
Рейтинг: 0 / 0
31.03.2021, 13:46
    #40058495
pinbalist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
komrad
...
Рейтинг: 0 / 0
31.03.2021, 13:56
    #40058498
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist,

у вас прирост стоит 10% от размера файла, поставьте в абсолютных единицах (например, 256МБ)
этим объясняется большой скачок в размере

возможные причины скачка уже упоминали
...
Рейтинг: 0 / 0
31.03.2021, 14:16
    #40058509
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist
aleks222

Теперь тебе осталось найти трудоголика, работающего по выходным.
Или джоб, какой-нибудь "реиндексации".
Ибо сам по себе сервер MS SQL ничего в базу не пишет.

ЗЫ. Хотя, лично я сомневаюсь, что ты способен отличить "файл базы данных" от "файла журнала транзакций".


Есть две задачи: Rebuild_Index_Task и Reorganize_Index_Task. Созданы, типа, для "оптимизации".

"Хотя, лично я сомневаюсь, что ты способен отличить "файл базы данных" от "файла журнала транзакций"" - это к чему было сказано?
Для самоутверждения?


Правильно, не сдавайся, мало ли кто что напишет тут
6 сообщений не означают, что пришел чайник, ведь, пишешь без запятых, считаешь, что язык может что-то сжать "sql мог сжать её"
...
Рейтинг: 0 / 0
01.04.2021, 06:49
    #40058747
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
aleks222
982183
пропущено...

"Фоновые операции" иногда творят странные вещи.

Конкретнее надо.
Имя "фоновой операции"?
Иначе балабольство получается.


Это к тому, что "Никто не работает" не совсем может быть правильно
...
Рейтинг: 0 / 0
01.04.2021, 12:23
    #40058833
pinbalist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
komrad


возможные причины скачка уже упоминали


Настройки прироста поменяю.
По поводу возможных скачков вы про это "Или джоб, какой-нибудь "реиндексации""?
Я уже писал: есть две задачи Rebuild_Index_Task и Reorganize_Index_Task. Можно ли как-то понять - они влияют или нет? Пока я их временно отключил.
...
Рейтинг: 0 / 0
01.04.2021, 12:50
    #40058845
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist
komrad


возможные причины скачка уже упоминали


Настройки прироста поменяю.
По поводу возможных скачков вы про это "Или джоб, какой-нибудь "реиндексации""?
Я уже писал: есть две задачи Rebuild_Index_Task и Reorganize_Index_Task. Можно ли как-то понять - они влияют или нет? Пока я их временно отключил.


Если включена системная трасса, то можно найти кто и что инициировало рост файлов баз

скрипт
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
use master;
with trc as 
(
select 
	max_files
	,reverse(
		stuff(reverse(path)
			,charindex('.',reverse(path))+1
			,charindex('_',reverse(path))-charindex('.',reverse(path))
			,'')
		) [all_files]
from sys.traces
where 
    is_default=1 
and status=1
)
SELECT	top 100
	te.name
	,ft.SPID
	,ft.LoginName
	,ft.Hostname
	,ft.ClientProcessID
	,ft.DatabaseName
	,ft.FileName
	,ft.StartTime
	,dateadd(ms,ft.Duration/1000,ft.StartTime) [FinishTime]
	,ft.ApplicationName 
	,ft.ObjectID
	,ft.Duration/1000/1000 [Duration (s)]
	,ft.TextData
	,ft.RoleName
	,ft.TargetUserName
	,ft.TargetLoginName
FROM trc st CROSS Apply
	::fn_trace_gettable(st.all_files, st.max_files) ft 
INNER JOIN sys.trace_events AS te ON ft.EventClass = te.trace_event_id 
WHERE 
	te.name LIKE '%Grow'  
ORDER BY ft.StartTime desc;

...
Рейтинг: 0 / 0
01.04.2021, 12:59
    #40058847
0wl
0wl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist,

Допросите программистов, возможно кто-то обновлял конфигурацию. Если под реструктуризацию попала сжатая таблица, то все сжатие превратилось в тыкву, т.к. 1С просто пересоздаёт изменяемую таблицу - и все настройки сжатия при этом сбрасываются.

И мне кажется, вы не с теми мельницами боретесь. У вас эффект от сжатия - всего 10%. Во-первых, как скоро ваши пользователи наработают обратно эти 10%? Как быстро растёт ваша база? Во-вторых, остаётся риск неудачной реструктуризации (см. выше). Если у вас база будет занимать всё место диска и на реструктуризацию не хватит места, база просто остановится - и надо будет звать sql-щика, который скриптами будет вразумлять её обратно
...
Рейтинг: 0 / 0
08.04.2021, 09:57
    #40060604
pinbalist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
komrad,

Изменил настройки прироста.
Остановил задачи не относящиеся к бэкапу, снова сжал. Сжалось ненамного, но хотя бы после сжатия не было такого резкого скачка размера. Сейчас база 95Gb весит.
Выполнение кода дало вот такое вот.
...
Рейтинг: 0 / 0
08.04.2021, 09:58
    #40060605
pinbalist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
0wl,

Цитата: "кажется да, обновляли конфу после сжатия базы".

Будем смотреть как дальше расти будет.
...
Рейтинг: 0 / 0
17.04.2021, 12:56
    #40063270
pinbalist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
Вот такую статистику роста базы собрал. Второй столбец - размер базы, третий - размер свободного места.
09.04.2021 - 96591,06 - 82,61
10.04.2021 - 99663,06 - 1114,96
11.04.2021 - 100287,06 - 1230.80
13.04.2021 - 102735,06 - 1215,15
14.04.2021 - 103759,06 - 1119,84
15.04.2021 - 104783,06 - 741,52
16.04.2021 - 107343,06 - 445,88

Пользователей, создающих и сохраняющих доки в базе, около 40 человек.

Как определить из-за чего прирост: только из-за документов или ещё что-то влияет на размер базы? 10 Гб за неделю - долго не протянем:(
...
Рейтинг: 0 / 0
17.04.2021, 13:19
    #40063277
godsql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist,

смотрите статистику по таблицам/индексам в базе. При сравнении видно, где и насколько прирост был.

А вообще, пишите служебку начальству на расширение хранилища. По крайней мере, прикроете себя, когда работа станет
...
Рейтинг: 0 / 0
17.04.2021, 13:32
    #40063286
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы sql
pinbalist
10 Гб за неделю - долго не протянем:(

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


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