powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Большой размер файла mdf
52 сообщений из 52, показаны все 3 страниц
Большой размер файла mdf
    #39187453
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Хотел бы проконсультироватся, проблема старая, суть: очень большой размер (primary) файла *.mdf. Среда: MSSQL 2005 SQL Server работает под управлением операционной системы Windows Server 2003.Размер файла mdf Составляет 84 гБ, команды shrinkdatabase, shrinkfile, Не приводят к уменьшению файла. Не удается сделать backup БД, процедура выдает ошибку. Данные операции выполняются и через запросы Transact-SQL и посредством SQL Server Management Studio
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187455
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в вашей базе много данных, то разумеется они занимают много места.
И разумеется их нельзя удалить командами shrinkdatabase, shrinkfile
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187457
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
WryderНе удается сделать backup БД, процедура выдает ошибку.
что за "ошибка процедуры" и какой именно процедуры?
и при чем тут бэкап?
некуда бэкапить 84 Гига что ли?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187464
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o-o,
с бэкапом вопрос решился, вы правы, недостаточно было места на диске, сам бэкап, после процедуры, занимает: *.trn - 35 Гб, *.bak - 35 Гб. В данный момент остается актуальным вопрос как уменьшить файл *.MDF.
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187466
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WryderВ данный момент остается актуальным вопрос как уменьшить файл *.MDF.
Для начала узнать, сколько в нем свободного места
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187467
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory,

места занимает подозрительно много, по факту такого быть не должно.
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187468
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wryderместа занимает подозрительно много, по факту такого быть не должно.
Я не спрашиваю, сколько места занимает файл.
Я спрашиваю, сколько места занимают данные внутри файла.
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187470
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
Wryder,
Glory у вас просит результат sp_spaceused
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187471
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory,

как это можно узнать?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187473
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o-o,

DATABASE_SIZE - 70211.88 Mb , unlocated_Space - 422.45 Mb, reserved -- 71243720 Kb, data - 26765216 Kb, index_Size - 44187528 Kb, unused - 294576 Kb.
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187475
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wryder unlocated_Space - 422.45 Mb
Вот столько в вашем файле свободного места
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187477
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory,

спасибо, я так понимаю следовательно можно увеличить свободного места, путем выставление большего объема в options> initial Size (на данный момент там установлен размер 70000 mb). Но эта процедура не спасет меня от дальнейшего роста БД. Следовательно сне нужно удалять часть содержимого?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187482
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wryderспасибо, я так понимаю следовательно можно увеличить свободного места, путем выставление большего объема в options> initial Size (на данный момент там установлен размер 70000 mb).
Зачем ? У вас разве не разрешено автоматическое приращение файлов ?

WryderНо эта процедура не спасет меня от дальнейшего роста БД.
Нет.

WryderСледовательно сне нужно удалять часть содержимого?
Логично
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187484
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory,

опция Auto Shrink = True в настройках БД.
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187486
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wryderопция Auto Shrink = True в настройках БД.
И что по-вашему должна делать эта опция ?
Вы вообще кем приходитесь этому серверу и базе ?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187499
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory,
Autogrowth (Автоматический рост) включен, учетная запись, от имени которой работает SQL Server, входит в группу Administrators).
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187500
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WryderAutogrowth (Автоматический рост) включен, учетная запись, от имени которой работает SQL Server, входит в группу Administrators).
Зачем вы тогда хотите менять размер файла вручную ?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187502
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glory,

так что мне делать?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187505
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
на выбор
или базу перенести на другой диск, где полно места
или выкинуть ненужное
...
и в любом случае убрать свое Auto Shrink = True
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187507
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wryderтак что мне делать?
С чем ?
Если с уменьшением размера данных, то это делается удлением данных. Т.е. выполннием команд DELETE.
А не выставлением каких то настроек базы/сервера
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187512
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wryderтак что мне делать?
Свою коллекцию порнушки перенеси с винта на ДВД. Нынче 70 гигабайт это незаметный размер для любого накопителя.
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187530
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WryderGlory,

так что мне делать?

Чтобы узнать подробности пустите скрипт и посмотрите, какие таблицы сколько места занимают, может там какие-то логи нафиг никому не нужные есть

Код: 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.
create table #TableSize (
    Name varchar(255),
    [rows] int,
    reserved varchar(255),
    data varchar(255),
    index_size varchar(255),
    unused varchar(255))
create table #ConvertedSizes (
    Name varchar(255),
    [rows] int,
    reservedKb int,
    dataKb int,
    reservedIndexSize int,
    reservedUnused int)

EXEC sp_MSforeachtable @command1="insert into #TableSize
EXEC sp_spaceused '?'"
insert into #ConvertedSizes (Name, [rows], reservedKb, dataKb, reservedIndexSize, reservedUnused)
select name, [rows], 
SUBSTRING(reserved, 0, LEN(reserved)-2), 
SUBSTRING(data, 0, LEN(data)-2), 
SUBSTRING(index_size, 0, LEN(index_size)-2), 
SUBSTRING(unused, 0, LEN(unused)-2)
from #TableSize

select * from #ConvertedSizes
order by reservedKb desc

drop table #TableSize
drop table #ConvertedSizes
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187543
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
если искать ненужное, то лучше с одинаковых индексов начать.
и место занимают, и OLTP-жизни мешают
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187548
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o-oесли искать ненужное, то лучше с одинаковых индексов начать.
и место занимают, и OLTP-жизни мешают

хорошо, если ТС сможет правильно оценить нужность индекса
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187553
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
а я не про ненужные, про дублированные.
у нас вот до кучи абсолютно одинаковых индексов насоздавали, деятели.
нужных не допросишься, "наше OLTP и так вешается",
а иду смотреть, что вообще имеется, так по 3 одинаковых на таблицу.
и поддерживать это растроение это "нормально"
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187575
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Winnipuh,

вот результат действия скрипта
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187578
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WryderWinnipuh,

вот результат действия скрипта

Вы сами насколько глубоко вникли в то, что хранится в базе и насколько готовы себя посвятить проникновению в суть данных?
Или хотели по-быстрому решить проблему места и х.с.н.?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187583
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
а теперь
Код: sql
1.
exec sp_help 'data_log'


покажите в части индексов
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187596
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
o-o,
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187613
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
Индексного свинства не обнаружено
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187627
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o-oИндексного свинства не обнаружено


еще бы посмотреть структуру таблицы и запросы, но вообще-то
два некластерных индекса с timestamp при том, что timestmp_utc есть и в кластерном как-то странно. Наверняка timestamp всегда содержит разные значения.

ТС, покажите структуру таблицы
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187634
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
Winnipuh,
Один из некластерных отсортирован по point_id, второй по времени, что здесь странного? Они под разные запросы
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187665
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o-oWinnipuh,
Один из некластерных отсортирован по point_id, второй по времени, что здесь странного? Они под разные запросыКластерный действительно выглядит странно, если в таблицу идёт поток новых данных с монотонно возрастающим timestmp_utc, и с разными point_id

Хотя к вопросам ТС это в общем не имеет отношения.
WryderХотел бы проконсультироватся, проблема старая, суть: очень большой размер (primary) файла *.mdf.Убиранием индексов место сильно не сократить, наверняка в таблице не только 2 поля, timestmp_utc и point_id.

Либо нужно удалять данные, либо увеличить место.

Уровень админов показывает тот факт, что бакап лога никогда не делали, а модель - FULL
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187674
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
alexeyvgУровень админов показывает тот факт, что бакап лога никогда не делали, а модель - FULL
он же выдал результаты sp_spaceused:
WryderDATABASE_SIZE - 70211.88 Mb , unlocated_Space - 422.45 Mb, reserved -- 71243720 Kb, data - 26765216 Kb, index_Size - 44187528 Kb, unused - 294576 Kb.
size of (log) = DATABASE_SIZE - (reserved + unallocated space) = 70211.88 Mb - (422.45 Mb + 71243720. Kb / 1024) = 215.48 Mb
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187697
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
alexeyvgУбиранием индексов место сильно не сократить
его 70Гиг распределены как 26Гиг данных и 44 Гига индексов:
Wryderdata - 26765216 Kb, index_Size - 44187528.
все это на одной таблице, т.к. остальные мизерные, а основная в 500 млн строк.
если грохнуть оба некластерных, размер уменьшится как минимум вдвое.
но наверное кто-то зачем-то их создал специально,
как только их не станет, такие сканы пойдут, что вообще все ляжет.
так что нечего жмотиться, пора нормальный диск купить
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187761
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...в случаи пересоздания БД, как мне выгрузить структуру таблиц?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187817
Jaffar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wryder,

Лучше скопируй базу и удали из нее то что тебе не нужно.
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187820
Wryder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jaffar,

да, собственно так и сделал.

Код: sql
1.
trancute table [*****].[dbo].[(data_log]
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39187828
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wryderсобственно так и сделал.

Код: sql
1.
trancute table [*****].[dbo].[(data_log]


А вы точно знаете, для чего нужны были данные в этой таблице ? И как они там появились ?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39188084
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WryderJaffar,

да, собственно так и сделал.

Код: sql
1.
trancute table [*****].[dbo].[(data_log]



смело, теперь вопрос по размеру базы снят
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39188096
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhWryderJaffar,

да, собственно так и сделал.

Код: sql
1.
trancute table [*****].[dbo].[(data_log]



смело, теперь вопрос по размеру базы снят
не совсем ;)
ему выдалась ошибка на такую команду и данные остались
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39188142
red88888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,
Ты сделал мой день! :DDD
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39188149
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradWinnipuhпропущено...


смело, теперь вопрос по размеру базы снят
не совсем ;)
ему выдалась ошибка на такую команду и данные остались

ТС не должен опускать руки, исправляй команду и дожимай!
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39400282
redsunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, почти аналогичная задача, только база весит 1 Тб.
Удалили из некоторых таблиц данные, свободного места стало гдето 300 Гб.
Пробовали запускать шринк файла, он работает уже 3 суток в режиме Release unused space и непонятно когда этот процесс закончится.
Собственно вопрос, есть ли вообще смысл запускать шринк на базе такого объема?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39400292
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redsunrise,

только не говорите, что это рабочая база, а не тестовая...
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39400299
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что, эти 300 Гб так позарез нужно высвободить, чтобы собрать все геморрои с уменьшением файлов базы? Или просто не по фен-шую?
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39400305
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redsunriseи непонятно когда этот процесс закончится.Столбец percent_complete в sys.dm_exec_requests для сессии, запустившей shrink.
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39400311
Мистер Хенки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redsunriseКоллеги, почти аналогичная задача, только база весит 1 Тб.
Удалили из некоторых таблиц данные, свободного места стало гдето 300 Гб.
Пробовали запускать шринк файла, он работает уже 3 суток в режиме Release unused space и непонятно когда этот процесс закончится.
Собственно вопрос, есть ли вообще смысл запускать шринк на базе такого объема?
Если так хочется шринкануть, то можно высвобождать из файла поменьше свободного места за раз. Мегабайт по 500. Так оно не сильно будет остальные процессы напрягать.
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39400653
Visibus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
redsunriseКоллеги, почти аналогичная задача, только база весит 1 Тб.
Удалили из некоторых таблиц данные, свободного места стало гдето 300 Гб.
Пробовали запускать шринк файла, он работает уже 3 суток в режиме Release unused space и непонятно когда этот процесс закончится.
Собственно вопрос, есть ли вообще смысл запускать шринк на базе такого объема?

Можно стопнуть и проверить - освободилось ли место.
Потом еще раз запустить.
Было как-то, правда, на SQL 2000-м. Но в 2000-м узнать
какую-либо информацию о том, сколько % выполнилось не представлялось возможным.
А так - правильно выше написали, посмотреть:

invmredsunriseи непонятно когда этот процесс закончится.Столбец percent_complete в sys.dm_exec_requests для сессии, запустившей shrink.
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39400834
redsunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кесарьredsunrise,
только не говорите, что это рабочая база, а не тестовая...
база естественно тестовая

Гавриленко Сергей АлексеевичИ что, эти 300 Гб так позарез нужно высвободить, чтобы собрать все геморрои с уменьшением файлов базы? Или просто не по фен-шую?
вообще данная база планируется как архивная(с соответствующим срезом по дате объектов), из нее пользователи будут только читать, так вот в ней после среза высвободится примерно половина объема, и хотелось бы сделать ее размером поменьше.
Пока все это еще на стадии обсуждения, и возможно лучший вариант не трогать базу вообще.

invmredsunriseи непонятно когда этот процесс закончится.Столбец percent_complete в sys.dm_exec_requests для сессии, запустившей shrink.
а вот это попробуем
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Большой размер файла mdf
    #39606667
MGR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тоже задам вопрос по шринку.
Знаю, что многие считают шринк вредным, но тут какое дело - хостер биллит за размер БД и у него ступенчатые цены, потому БД в 60Г будет сильно дороже 40Г.
Клиенты хостера хотят сэкономить, потому почистлили БД от ненужных данных. В результате sp_spaceused показывает:
Код: plaintext
1.
2.
database_size	unallocated space
62681.75 MB	37096.73 MB

Попытки выполнить
Код: plaintext
DBCC SHRINKDATABASE (****, 10)
не приносят никакого результата.

Я скорее разработчик, чем ДБА, потому знания довольно ограничены, но задачц мне надо решить.
Есть идеи как правильно?
Часа два гуглил без какого-то результата, потому пришлось вспоминать пароль для sql.ru :)
...
Рейтинг: 0 / 0
Большой размер файла mdf
    #39606683
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
DBCC SHRINKDATABASE (****, 10, NOTRUNCATE)
go
DBCC SHRINKDATABASE (****, TRUNCATEONLY)



ЗЫ. А чо, на ютюбе видео нема?
...
Рейтинг: 0 / 0
52 сообщений из 52, показаны все 3 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Большой размер файла mdf
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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