Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
Добрый день!

Хотел бы проконсультироватся, проблема старая, суть: очень большой размер (primary) файла *.mdf. Среда: MSSQL 2005 SQL Server работает под управлением операционной системы Windows Server 2003.Размер файла mdf Составляет 84 гБ, команды shrinkdatabase, shrinkfile, Не приводят к уменьшению файла. Не удается сделать backup БД, процедура выдает ошибку. Данные операции выполняются и через запросы Transact-SQL и посредством SQL Server Management Studio
8 мар 16, 12:51    [18907921]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Glory
Member

Откуда:
Сообщений: 104751
Если в вашей базе много данных, то разумеется они занимают много места.
И разумеется их нельзя удалить командами shrinkdatabase, shrinkfile
8 мар 16, 12:56    [18907930]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
o-o
Guest
Wryder
Не удается сделать backup БД, процедура выдает ошибку.

что за "ошибка процедуры" и какой именно процедуры?
и при чем тут бэкап?
некуда бэкапить 84 Гига что ли?
8 мар 16, 12:59    [18907935]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
o-o,
с бэкапом вопрос решился, вы правы, недостаточно было места на диске, сам бэкап, после процедуры, занимает: *.trn - 35 Гб, *.bak - 35 Гб. В данный момент остается актуальным вопрос как уменьшить файл *.MDF.
8 мар 16, 13:08    [18907951]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Glory
Member

Откуда:
Сообщений: 104751
Wryder
В данный момент остается актуальным вопрос как уменьшить файл *.MDF.

Для начала узнать, сколько в нем свободного места
8 мар 16, 13:09    [18907954]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
Glory,

места занимает подозрительно много, по факту такого быть не должно.
8 мар 16, 13:10    [18907955]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Glory
Member

Откуда:
Сообщений: 104751
Wryder
места занимает подозрительно много, по факту такого быть не должно.

Я не спрашиваю, сколько места занимает файл.
Я спрашиваю, сколько места занимают данные внутри файла.
8 мар 16, 13:11    [18907958]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
o-o
Guest
Wryder,
Glory у вас просит результат sp_spaceused
8 мар 16, 13:18    [18907970]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
Glory,

как это можно узнать?
8 мар 16, 13:18    [18907971]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
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.
8 мар 16, 13:24    [18907984]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Glory
Member

Откуда:
Сообщений: 104751
Wryder
unlocated_Space - 422.45 Mb

Вот столько в вашем файле свободного места
8 мар 16, 13:26    [18907992]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
Glory,

спасибо, я так понимаю следовательно можно увеличить свободного места, путем выставление большего объема в options> initial Size (на данный момент там установлен размер 70000 mb). Но эта процедура не спасет меня от дальнейшего роста БД. Следовательно сне нужно удалять часть содержимого?
8 мар 16, 13:33    [18908002]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Glory
Member

Откуда:
Сообщений: 104751
Wryder
спасибо, я так понимаю следовательно можно увеличить свободного места, путем выставление большего объема в options> initial Size (на данный момент там установлен размер 70000 mb).

Зачем ? У вас разве не разрешено автоматическое приращение файлов ?

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

Нет.

Wryder
Следовательно сне нужно удалять часть содержимого?

Логично
8 мар 16, 13:40    [18908012]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
Glory,

опция Auto Shrink = True в настройках БД.
8 мар 16, 13:43    [18908019]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Glory
Member

Откуда:
Сообщений: 104751
Wryder
опция Auto Shrink = True в настройках БД.

И что по-вашему должна делать эта опция ?
Вы вообще кем приходитесь этому серверу и базе ?
8 мар 16, 13:49    [18908033]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
Glory,
Autogrowth (Автоматический рост) включен, учетная запись, от имени которой работает SQL Server, входит в группу Administrators).
8 мар 16, 14:28    [18908094]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Glory
Member

Откуда:
Сообщений: 104751
Wryder
Autogrowth (Автоматический рост) включен, учетная запись, от имени которой работает SQL Server, входит в группу Administrators).

Зачем вы тогда хотите менять размер файла вручную ?
8 мар 16, 14:31    [18908097]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
Glory,

так что мне делать?
8 мар 16, 14:35    [18908106]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
o-o
Guest
на выбор
или базу перенести на другой диск, где полно места
или выкинуть ненужное
...
и в любом случае убрать свое Auto Shrink = True
8 мар 16, 14:40    [18908115]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Glory
Member

Откуда:
Сообщений: 104751
Wryder
так что мне делать?

С чем ?
Если с уменьшением размера данных, то это делается удлением данных. Т.е. выполннием команд DELETE.
А не выставлением каких то настроек базы/сервера
8 мар 16, 14:44    [18908125]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53492
Wryder
так что мне делать?

Свою коллекцию порнушки перенеси с винта на ДВД. Нынче 70 гигабайт это незаметный размер для любого накопителя.
8 мар 16, 14:48    [18908132]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Wryder
Glory,

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


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

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
8 мар 16, 15:32    [18908215]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
o-o
Guest
если искать ненужное, то лучше с одинаковых индексов начать.
и место занимают, и OLTP-жизни мешают
8 мар 16, 16:16    [18908254]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
o-o
если искать ненужное, то лучше с одинаковых индексов начать.
и место занимают, и OLTP-жизни мешают


хорошо, если ТС сможет правильно оценить нужность индекса
8 мар 16, 16:21    [18908260]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
o-o
Guest
а я не про ненужные, про дублированные.
у нас вот до кучи абсолютно одинаковых индексов насоздавали, деятели.
нужных не допросишься, "наше OLTP и так вешается",
а иду смотреть, что вообще имеется, так по 3 одинаковых на таблицу.
и поддерживать это растроение это "нормально"
8 мар 16, 17:02    [18908322]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
Winnipuh,

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

К сообщению приложен файл. Размер - 29Kb
8 мар 16, 18:34    [18908502]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Wryder
Winnipuh,

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


Вы сами насколько глубоко вникли в то, что хранится в базе и насколько готовы себя посвятить проникновению в суть данных?
Или хотели по-быстрому решить проблему места и х.с.н.?
8 мар 16, 18:38    [18908509]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
o-o
Guest
а теперь
exec sp_help 'data_log'

покажите в части индексов
8 мар 16, 18:41    [18908517]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
o-o,

К сообщению приложен файл. Размер - 75Kb
8 мар 16, 19:01    [18908580]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
o-o
Guest
Индексного свинства не обнаружено
8 мар 16, 19:31    [18908667]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
o-o
Индексного свинства не обнаружено



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

ТС, покажите структуру таблицы
8 мар 16, 20:09    [18908775]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
o-o
Guest
Winnipuh,
Один из некластерных отсортирован по point_id, второй по времени, что здесь странного? Они под разные запросы
8 мар 16, 20:49    [18908842]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31912
o-o
Winnipuh,
Один из некластерных отсортирован по point_id, второй по времени, что здесь странного? Они под разные запросы
Кластерный действительно выглядит странно, если в таблицу идёт поток новых данных с монотонно возрастающим timestmp_utc, и с разными point_id

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

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

Уровень админов показывает тот факт, что бакап лога никогда не делали, а модель - FULL
8 мар 16, 21:57    [18909090]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
o-o
Guest
alexeyvg
Уровень админов показывает тот факт, что бакап лога никогда не делали, а модель - FULL

он же выдал результаты sp_spaceused:
Wryder
DATABASE_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
8 мар 16, 22:33    [18909182]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
o-o
Guest
alexeyvg
Убиранием индексов место сильно не сократить

его 70Гиг распределены как 26Гиг данных и 44 Гига индексов:
Wryder
data - 26765216 Kb, index_Size - 44187528.

все это на одной таблице, т.к. остальные мизерные, а основная в 500 млн строк.
если грохнуть оба некластерных, размер уменьшится как минимум вдвое.
но наверное кто-то зачем-то их создал специально,
как только их не станет, такие сканы пойдут, что вообще все ляжет.
так что нечего жмотиться, пора нормальный диск купить
8 мар 16, 23:26    [18909287]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
...в случаи пересоздания БД, как мне выгрузить структуру таблиц?
9 мар 16, 07:00    [18909543]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Jaffar
Member

Откуда:
Сообщений: 633
Wryder,

Лучше скопируй базу и удали из нее то что тебе не нужно.
9 мар 16, 09:11    [18909679]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Wryder
Member

Откуда:
Сообщений: 17
Jaffar,

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

trancute table [*****].[dbo].[(data_log]
9 мар 16, 09:18    [18909697]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Glory
Member

Откуда:
Сообщений: 104751
Wryder
собственно так и сделал.

trancute table [*****].[dbo].[(data_log]

А вы точно знаете, для чего нужны были данные в этой таблице ? И как они там появились ?
9 мар 16, 09:30    [18909722]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Wryder
Jaffar,

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

trancute table [*****].[dbo].[(data_log]


смело, теперь вопрос по размеру базы снят
9 мар 16, 13:51    [18911207]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
komrad
Member

Откуда:
Сообщений: 5705
Winnipuh
Wryder
Jaffar,

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

trancute table [*****].[dbo].[(data_log]


смело, теперь вопрос по размеру базы снят

не совсем ;)
ему выдалась ошибка на такую команду и данные остались
9 мар 16, 14:03    [18911245]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
red88888
Member

Откуда:
Сообщений: 130
komrad,
+
Ты сделал мой день! :DDD
9 мар 16, 14:49    [18911411]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
komrad
Winnipuh
пропущено...


смело, теперь вопрос по размеру базы снят

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


ТС не должен опускать руки, исправляй команду и дожимай!
9 мар 16, 14:53    [18911429]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
redsunrise
Member

Откуда: kazan
Сообщений: 22
Коллеги, почти аналогичная задача, только база весит 1 Тб.
Удалили из некоторых таблиц данные, свободного места стало гдето 300 Гб.
Пробовали запускать шринк файла, он работает уже 3 суток в режиме Release unused space и непонятно когда этот процесс закончится.
Собственно вопрос, есть ли вообще смысл запускать шринк на базе такого объема?
7 фев 17, 16:59    [20189998]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Кесарь
Member

Откуда:
Сообщений: 653
redsunrise,

только не говорите, что это рабочая база, а не тестовая...
7 фев 17, 17:11    [20190055]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
И что, эти 300 Гб так позарез нужно высвободить, чтобы собрать все геморрои с уменьшением файлов базы? Или просто не по фен-шую?

Сообщение было отредактировано: 7 фев 17, 17:25
7 фев 17, 17:17    [20190079]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
invm
Member

Откуда: Москва
Сообщений: 9791
redsunrise
и непонятно когда этот процесс закончится.
Столбец percent_complete в sys.dm_exec_requests для сессии, запустившей shrink.
7 фев 17, 17:24    [20190105]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Мистер Хенки
Member

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

Если так хочется шринкануть, то можно высвобождать из файла поменьше свободного места за раз. Мегабайт по 500. Так оно не сильно будет остальные процессы напрягать.
7 фев 17, 17:26    [20190114]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
Visibus
Member

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


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

invm
redsunrise
и непонятно когда этот процесс закончится.
Столбец percent_complete в sys.dm_exec_requests для сессии, запустившей shrink.
8 фев 17, 10:25    [20191633]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
redsunrise
Member

Откуда: kazan
Сообщений: 22
Кесарь
redsunrise,
только не говорите, что это рабочая база, а не тестовая...

база естественно тестовая

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

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

invm
redsunrise
и непонятно когда этот процесс закончится.
Столбец percent_complete в sys.dm_exec_requests для сессии, запустившей shrink.

а вот это попробуем
8 фев 17, 13:38    [20192754]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Большой размер файла mdf  [new]
MGR
Member

Откуда:
Сообщений: 536
Тоже задам вопрос по шринку.
Знаю, что многие считают шринк вредным, но тут какое дело - хостер биллит за размер БД и у него ступенчатые цены, потому БД в 60Г будет сильно дороже 40Г.
Клиенты хостера хотят сэкономить, потому почистлили БД от ненужных данных. В результате sp_spaceused показывает:

database_size unallocated space
62681.75 MB 37096.73 MB

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

Я скорее разработчик, чем ДБА, потому знания довольно ограничены, но задачц мне надо решить.
Есть идеи как правильно?
Часа два гуглил без какого-то результата, потому пришлось вспоминать пароль для sql.ru :)
24 фев 18, 09:03    [21215037]     Ответить | Цитировать Сообщить модератору
 Re: Большой размер файла mdf  [new]
aleks222
Guest
DBCC SHRINKDATABASE (****, 10, NOTRUNCATE)
go
DBCC SHRINKDATABASE (****, TRUNCATEONLY)


ЗЫ. А чо, на ютюбе видео нема?
24 фев 18, 11:33    [21215168]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Microsoft SQL Server Ответить