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

Откуда:
Сообщений: 41
Есть база 35 гигобайт, надо сжать её до 10 гигов, чтобы она уместилась на ноутбуки с MSSQL Express. Сделал бэкап, поднял его, начал удалять старые данные из таблиц, 'delete from %tablename% where date < 01.01.2017'. Таким вот образом постирал большую часть данных. Для проверки занятого места пользовался:
SELECT
  CAST(SUM(i.reserved) / 128.0 AS DECIMAL(12, 2)) AS MB
  ,o.name
FROM dbo.sysindexes AS i
JOIN dbo.sysobjects AS o
  ON (o.id = i.id)
GROUP BY o.name
ORDER BY SUM(i.reserved) DESC


В результате скрипт показывает что я достаточно удалил, жму ПКМ по базе, свойства, а там "Размер: 109754 Мб", "Свободное место: 27641 Мб", итого размер только увеличился в два раза. Попробовал сжать также по ПКМ > задачи > сжать, база сжалась на размер "свободного места" и теперь в свойствах у нее размер 68 гигов. Что делать? Как её сжать по-настоящему?
1 июл 17, 06:16    [20604708]     Ответить | Цитировать Сообщить модератору
 Re: Как сжать базу?  [new]
kombala
Member

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

Парни, помогите, база 6 гигов, лог 60. Как от лога избавиться? Я гуглю в меру сил, но не получается ничего.
1 июл 17, 07:07    [20604715]     Ответить | Цитировать Сообщить модератору
 Re: Как сжать базу?  [new]
aleks2
Guest
kombala
kombala,

Парни, помогите, база 6 гигов, лог 60. Как от лога избавиться? Я гуглю в меру сил, но не получается ничего.

Осподе, страдалец, Recovery model: Simple. + shrink
Или backup log + shrink
1 июл 17, 07:43    [20604720]     Ответить | Цитировать Сообщить модератору
 Re: Как сжать базу?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
dbcc shrinkfile
1 июл 17, 12:54    [20605119]     Ответить | Цитировать Сообщить модератору
 Re: Как сжать базу?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31371
kombala
Парни, помогите, база 6 гигов, лог 60. Как от лога избавиться?
Надо было перед delete перевести базу в симпл-режим, а иначе всё удалённое перенеслось в лог.
Теперь, как уже написали, нужно перевести базу в симпл-режим, а потом сделать шринк лог-файла.
1 июл 17, 21:26    [20605897]     Ответить | Цитировать Сообщить модератору
 Re: Как сжать базу?  [new]
kombala
Member

Откуда:
Сообщений: 41
Всем спасибо за ответы, это была долгая ночь и дедлайн до 7 утра, так что голова под конец уже практически не соображала.
3 июл 17, 09:52    [20608023]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить