Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Удалить backup внутри базы.  [new]
smn777
Member

Откуда:
Сообщений: 4
Здравствуйте.
Я только начал осваивать sql. Два дня ковыряния поисковиков проблему не решили. Прошу помощи. Заранее извиняюсь за отсутствие знания терминов.

База sql на хостинге разбухла до 1гб. Хостер ругается на максимально допустимый размер. Стоит задача уменьшить размер базы.

Раздут файл *.mdf
Обнаружил огромное количество резервных копий внутри базы. Думаю что проблема в них.

1) Как удалить эти копии?
2) Как остановить процесс их создания?
3) Может быть причина в другом?
24 мар 17, 20:40    [20330974]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37198
Что-что вы обнаружили внутри базы?
24 мар 17, 20:55    [20331012]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31816
smn777
Раздут файл *.mdf
Обнаружил огромное количество резервных копий внутри базы. Думаю что проблема в них.
В базе (то есть в файлах данных mdf) никакие копии не хранятся.

smn777
База sql на хостинге разбухла до 1гб. Хостер ругается на максимально допустимый размер
Он имеет в виду именно файл mdf?
Тогда в базе очень много данных.
Удалите ненужные данные, либо запросите место в хранилище, если данные нужны.
Данные - это таблицы.
Размер таблиц можно посмотреть скриптом (reservedpages - размер в килобайтах, rowCount - сколько строк):
--	Размер таблиц
SELECT 
	g.groupname,
	schema_name(o.schema_id),
	o.name,
	SUM (p.reserved_page_count) * 8 as reservedpages,
	SUM (p.used_page_count) * 8 as usedpages,
	SUM (
		CASE
			WHEN (p.index_id < 2) THEN (p.in_row_data_page_count + p.lob_used_page_count + p.row_overflow_used_page_count)
			ELSE p.lob_used_page_count + p.row_overflow_used_page_count
		END
		) as pages,
	SUM (
		CASE
			WHEN (p.index_id < 2) THEN p.row_count
			ELSE 0
		END
		) as [rowCount]
FROM sys.dm_db_partition_stats p
	join sys.objects as o
		on o.object_id = p.object_id
		and o.type = 'U'
	join sys.partitions pa
		on pa.partition_id = p.partition_id
	join sys.sysindexes i
		on i.id = p.object_id
		and i.indid = pa.index_id
	join sys.sysfilegroups as g
		on g.groupid = i.groupid
group by o.name, g.groupname, schema_name(o.schema_id)
order by reservedpages desc
24 мар 17, 21:04    [20331034]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
smn777,

Я бы вам предложил осваивать sql на своем локальном компьютере...
24 мар 17, 21:51    [20331152]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
smn777
Member

Откуда:
Сообщений: 4
Получил такой результат

К сообщению приложен файл (Size.csv - 5Kb) cкачать
24 мар 17, 21:57    [20331162]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
smn777
Member

Откуда:
Сообщений: 4
Тогда что это?

К сообщению приложен файл. Размер - 136Kb
24 мар 17, 22:00    [20331169]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
smn777
Member

Откуда:
Сообщений: 4
Mind
smn777,

Я бы вам предложил осваивать sql на своем локальном компьютере...


Полностью согласен. Обязательно этим займусь, надеюсь что уже после решения этой проблемы.
24 мар 17, 22:04    [20331184]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
Бьютифер
Member [заблокирован]

Откуда:
Сообщений: 284
smn777
Тогда что это?
эта бекупы. тамже написоно. ого, еще с 2014-го года. вот их нужно удалять.
24 мар 17, 22:34    [20331242]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
Бьютифер
Member [заблокирован]

Откуда:
Сообщений: 284
smn777
1) Как удалить эти копии?
2) Как остановить процесс их создания?
Добавить в План Обслуживания Задачу Очистки, скажем удалить бекапы старше 4-х недель. Очистка будет выполняться каждый раз после завершения бекапа. В дальнейшем будут сохраняться копии за последние 4 недели.
24 мар 17, 22:40    [20331259]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
o-o
Guest
не трогайте несчастные бэкапы.
может(скорее всего), их и в помине уже нет.
не слушайте ПТшника бьютихера, он несет фигню
(т.к. ему не дали ее нести в соседней теме)
у вас данных в 2ух первых таблицах почти гигабайт,
и это действительно .mfd
а то, что на картинке, это история бэкапов,
их наверняка перенесли оттуда давно и далеко,
в любом случае, они никаким местом к mdf
24 мар 17, 23:08    [20331350]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31816
Это окошко для восстановления базы из бакапа.
Ткнёте куда попало - и будет у вас база за 2014 год, это если повезёт.
Ничего не трогайте, без знаний может плохо кончиться.

Кстати, есть подозрение, что свежих бакапов нет, и скоро вы будете набирать содержимое с бумажек, из первички.
Подумайте об этом.

o-o
не слушайте ПТшника бьютихера, он несет фигню
...
у вас данных в 2ух первых таблицах почти гигабайт,
и это действительно .mfd
+1
99% объёма базы занимают 2 таблицы с логами приложения.

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

Удалите содержимое этих таблиц, и озаботьтесь удалением старых записей из логов по расписанию.
25 мар 17, 01:54    [20331533]     Ответить | Цитировать Сообщить модератору
 Re: Удалить backup внутри базы.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
Лучше два раза подумать перед тем как куда-то тыкнуть.
27 мар 17, 18:44    [20338212]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить