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

Откуда:
Сообщений: 710
Добрый день ! Столкнулся с очень интересной проблемой на
автор
Microsoft SQL Server 2000 - 8.00.2301 (Intel X86) Jan 6 2012 17:23:12 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

есть необходимость сделать восстановление из бэкапа на сервере, сам полный бэкап весит 133Гб, но при восстановлении T-SQL
RESTORE DATABASE [zip_work] FROM DISK = N'C:\backup\zip_work_BackUp.bak' WITH FILE = 1, MOVE N'Zip_work_Data' TO N'C:\Program Files\Microsoft SQL Server\MSSQL\Data\Zip_work_Data.mdf', MOVE N'Zip_work_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL\Data\Zip_work_Log.ldf',RECOVERY, REPLACE, NOUNLOAD, STATS = 10

Выдаёт
автор
Сообщение 3257, уровень 16, состояние 0, строка 1
There is insufficient free space on disk volume 'C:\' to create the database. The database requires 367115763712 additional free bytes, while only 170247094272 bytes are available.
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE DATABASE is terminating abnormally.

Так требователен к месту он стал после того как я до фиксированного начального размера увеличил mdf (150Гб) и ldf (200Гб) БД c которой снят бэкап(чтобы MS SQL AUTOGROWTH не делал). Сейчас на диске свободно 158Гб, mdf БД весит в spaceused 129Гб. Так как бэкап полный то лог транзакций был дописал в конец бэкапа, то есть по идеи я могу сделать восстановление на таком размере свободного пространства жёсткого диска.
Вопрос, как ?
12 сен 12, 16:31    [13152973]     Ответить | Цитировать Сообщить модератору
 Re: Restore database требует слишком много свободного места на диске  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
не совсем, с логом отдельная история.
при разворачивании бэкапа нужно суммировать файлы mdf+ldf
12 сен 12, 16:35    [13153001]     Ответить | Цитировать Сообщить модератору
 Re: Restore database требует слишком много свободного места на диске  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Гхм, а куда ж, тогда лог то денется ?

Попробуйте указать другое местоположение лога, там где больше места.
12 сен 12, 16:37    [13153020]     Ответить | Цитировать Сообщить модератору
 Re: Restore database требует слишком много свободного места на диске  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
stavgreengo
Вопрос, как ?
Как всунуть 350 Гб на диск, где свободно 158 Гб?
12 сен 12, 16:41    [13153053]     Ответить | Цитировать Сообщить модератору
 Re: Restore database требует слишком много свободного места на диске  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Ozerov
Гхм, а куда ж, тогда лог то денется ?

Попробуйте указать другое местоположение лога, там где больше места.

дело в том что разворачиваю бэкап на тестовом сервере где больше 158Гб свободного пространства просто нету. Есть возможность сделать рестор бэкапа чтобы объяснить серверу что лог мне изначально такого огромного размера не требуется ?
12 сен 12, 16:47    [13153103]     Ответить | Цитировать Сообщить модератору
 Re: Restore database требует слишком много свободного места на диске  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
stavgreengo
Ozerov
Гхм, а куда ж, тогда лог то денется ?

Попробуйте указать другое местоположение лога, там где больше места.

дело в том что разворачиваю бэкап на тестовом сервере где больше 158Гб свободного пространства просто нету. Есть возможность сделать рестор бэкапа чтобы объяснить серверу что лог мне изначально такого огромного размера не требуется ?


Перевести базу в симпл (если потребуется шринкануть лог), затем провести бэкап.

НО! Если у Вас идет бэкап лога транзакций, то он прервется. Придется заново производить полный бэкап.
12 сен 12, 16:48    [13153113]     Ответить | Цитировать Сообщить модератору
 Re: Restore database требует слишком много свободного места на диске  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Гавриленко Сергей Алексеевич
stavgreengo
Вопрос, как ?
Как всунуть 350 Гб на диск, где свободно 158 Гб?

интересуют возможности не тривиального решения проблемы :) при наличии таковых
12 сен 12, 16:49    [13153118]     Ответить | Цитировать Сообщить модератору
 Re: Restore database требует слишком много свободного места на диске  [new]
Glory
Member

Откуда:
Сообщений: 104760
stavgreengo
интересуют возможности не тривиального решения проблемы :) при наличии таковых

Подключить еще диски
Восстановить базу
Уменьшить ее размеры
Отключить диски
12 сен 12, 16:50    [13153125]     Ответить | Цитировать Сообщить модератору
 Re: Restore database требует слишком много свободного места на диске  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
stavgreengo
Гавриленко Сергей Алексеевич
пропущено...
Как всунуть 350 Гб на диск, где свободно 158 Гб?

интересуют возможности не тривиального решения проблемы :) при наличии таковых
Это тривиальная проблема и решается тоже абсолютно тривиальным способом - увеличением дискового пространства. Или уменьшением файлов базы или лога _до_ бэкапа.
12 сен 12, 16:52    [13153139]     Ответить | Цитировать Сообщить модератору
 Re: Restore database требует слишком много свободного места на диске  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Ozerov
stavgreengo
пропущено...

дело в том что разворачиваю бэкап на тестовом сервере где больше 158Гб свободного пространства просто нету. Есть возможность сделать рестор бэкапа чтобы объяснить серверу что лог мне изначально такого огромного размера не требуется ?


Перевести базу в симпл (если потребуется шринкануть лог), затем провести бэкап.

НО! Если у Вас идет бэкап лога транзакций, то он прервется. Придется заново производить полный бэкап.

Бэкап лога транзакций ведётся, идея понравилась, я понял. Добавлю в регламентные ночные работы сегодня, а завтра получается смогу восстановить на тестовом сервере. Спасибо.
12 сен 12, 16:54    [13153154]     Ответить | Цитировать Сообщить модератору
 Re: Restore database требует слишком много свободного места на диске  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Бэкап лога транзакций ведётся, идея понравилась, я понял. Добавлю в регламентные ночные работы сегодня, а завтра получается смогу восстановить на тестовом сервере. Спасибо.

Учтите пару вещей:

1. Для продолжения бэкапа логов транзакций необходимо будет восстановить базу в Full mode.
2. Необходимо будет произвести полный бэкап.

Ну еще есть вариант без перевода в Simple. Сделать бэкап лога транзакций, шринкануть ЛОГ. Может потребуется повторить.
Если лог уменьшился до приемлемого размера, произвести Бэкап.

Но это все, как говорится, через Ж.... Правильнее докупить место, а то так и будете мучиться, когда потребуется опять провести развертывание. Плюс, что будете делать, если объем данных вырастет более 160 Гиг, а срочно потребуется развернуть базу ?
12 сен 12, 17:04    [13153229]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить