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

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

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

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


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


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

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

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

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

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


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

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

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

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

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

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

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


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

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


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


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


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



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


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



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


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

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

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

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

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


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

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


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

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

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


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


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


Настройки прироста поменяю.
По поводу возможных скачков вы про это "Или джоб, какой-нибудь "реиндексации""?
Я уже писал: есть две задачи Rebuild_Index_Task и Reorganize_Index_Task. Можно ли как-то понять - они влияют или нет? Пока я их временно отключил.
...
Рейтинг: 0 / 0
Сжатие базы sql
    #40058845
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Сжатие базы sql
    #40058847
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
pinbalist,

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

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

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

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

Будем смотреть как дальше расти будет.
...
Рейтинг: 0 / 0
Сжатие базы sql
    #40063270
pinbalist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот такую статистику роста базы собрал. Второй столбец - размер базы, третий - размер свободного места.
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
Сжатие базы sql
    #40063277
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pinbalist,

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

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

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


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