Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
08.09.2009, 17:42
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
Доброе время суток, очень нужен совет. Задача примерно такая: есть слабенький сервер с маленьким винтом (50 ГБ), на другом сервере есть база на 100 ГБ, из которых 70 ГБ занимает лог транзакций. База примерно такая: Код: plaintext 1. 2. 3. 4. 5.
Эта база ежедневно бэкапится (full backup) на втором сервере - и должна ресториться на первом сервере. Соль в том, что лог транзакций на 1м сервере не нужен, но отсечь его перед бэкапом на 2м сервере нельзя. Я делаю на 1м сервере примерно следующее: Код: plaintext 1. 2. 3. 4. 5. 6.
И получаю такой результат: Код: plaintext 1. 2. 3. 4. 5. 6.
Как я понимаю, даже несмотря на то, что я указываю восстановить лишь часть базы (на которую места хватает), сервер проверяет наличие свободного места для всей базы целиком. Собственно, вопрос такой: так ли это и можно ли это как-то обойти? Если нет, то можно ли решить эту задачу как-то иначе? Любые советы и предложения приветствуются. select @@version Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.09.2009, 17:47
|
|||
---|---|---|---|
Восстановление базы БЕЗ лога транзакций |
|||
#18+
alex_bik Как я понимаю, даже несмотря на то, что я указываю восстановить лишь часть базы (на которую места хватает), сервер проверяет наличие свободного места для всей базы целиком. Это вы только думаете, что указываете восстанавливать часть базы Но ваша команда не содержит указания восстанавливать только часть базы ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.09.2009, 17:52
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
alex_bik Соль в том, что лог транзакций на 1м сервере не нужен, но отсечь его перед бэкапом на 2м сервере нельзя. почему нельзя? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.09.2009, 17:56
|
|||
---|---|---|---|
Восстановление базы БЕЗ лога транзакций |
|||
#18+
Собственно то же интересно почему нельзя ? Да и есть функционал поднимать базу только из mdf.... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.09.2009, 17:57
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
OzerovСобственно то же интересно почему нельзя ? Да и есть функционал поднимать базу только из mdf.... да но поднятие из файла .mdf придеться останавливать сиквел. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.09.2009, 17:58
|
|||
---|---|---|---|
Восстановление базы БЕЗ лога транзакций |
|||
#18+
ТАРАКАНOzerovСобственно то же интересно почему нельзя ? Да и есть функционал поднимать базу только из mdf.... да но поднятие из файла .mdf придеться останавливать сиквел. Это понятно, но, еще раз перечитав, не нашел условия "без остановки сервиса" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.09.2009, 18:34
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
GloryЭто вы только думаете, что указываете восстанавливать часть базы Но ваша команда не содержит указания восстанавливать только часть базы Разве это не оно: Код: plaintext 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. 31. 32. 33. 34. 35. 36. 37. 38.
ТАРАКАНпочему нельзя? OzerovСобственно то же интересно почему нельзя ? Потому что второй сервер - не наша вотчина, и тамошние админы обидятся, если мы для своих мутных целей вдруг отрежем от их базы лог транзакций, который они заботливо бэкапят каждый час и складывают в "копилку". OzerovТАРАКАНOzerovДа и есть функционал поднимать базу только из mdf.... да но поднятие из файла .mdf придеться останавливать сиквел. Это понятно, но, еще раз перечитав, не нашел условия "без остановки сервиса" Хотелось обойтись без этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.09.2009, 18:40
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
alex_bik Потому что второй сервер - не наша вотчина, и тамошние админы обидятся, если мы для своих мутных целей вдруг отрежем от их базы лог транзакций, который они заботливо бэкапят каждый час и складывают в "копилку". ну и в чем проблема подрезания лог файла после бэкапа лог файла? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.09.2009, 18:42
|
|||
---|---|---|---|
Восстановление базы БЕЗ лога транзакций |
|||
#18+
alex_bik[quot Glory] Потому что второй сервер - не наша вотчина, и тамошние админы обидятся, если мы для своих мутных целей вдруг отрежем от их базы лог транзакций, который они заботливо бэкапят каждый час и складывают в "копилку". А Вы договоритесь после бэкапа лога шринкануть файл лога, сделать бэкап, и увеличить объем файла лога, если он такой им нужен, дабы они потом не грешили на затраты по приросту файла лога. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.09.2009, 19:59
|
|||
---|---|---|---|
Восстановление базы БЕЗ лога транзакций |
|||
#18+
alex_bikGloryЭто вы только думаете, что указываете восстанавливать часть базы Но ваша команда не содержит указания восстанавливать только часть базы Разве это не оно: Код: plaintext 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. 31. 32. 33. 34. 35. 36. 37. 38.
Это вы привели полный синтаксис команды RESTORE А вы укажите, где в вашем примере вы "указываете восстановить лишь часть базы" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.09.2009, 11:35
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
Если я правильно понял пример в BOL, вот эта конструкция Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.09.2009, 11:50
|
|||
---|---|---|---|
Восстановление базы БЕЗ лога транзакций |
|||
#18+
А ключевое слово PARTIAL по-вашему не нужно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.09.2009, 12:46
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
Попробовал с PARTIAL - та же проблема, сервер проверяет наличие места для всей базы, а не только указанных файлов. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.09.2009, 13:01
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
может добавить параметр CONTINUE_AFTER_ERROR ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.09.2009, 12:00
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
CONTINUE_AFTER_ERROR помогло пройти проверку доступного места, но потом рестор все равно валится из-за того, что операционная система не может "надуть" файл лога транзакций: Код: plaintext 1.
Это при том, что я явно указываю PARTIAL и файлы, которые необходимо восстановить: Код: plaintext 1. 2. 3. 4. 5. 6.
У кого-нибудь есть мысли, что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2014, 12:17
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
Подниму тему: Та же пробема - делаем бакап на 2й тестовый сервер (тест копия базы) а в full бакапе "закатан" лог файл размером 90 Гбт - что в 1,5 раза больше чем файл данных. места не хватает для развертывания целиком - при том что лог не нужен - т.к. сразу после развертывания в копии все равно включаем простую модель восстановления. Есть мысли - как восстановить только базу без лога? (тем более, как я понимаю, - в full бакапе только инфа о том что лог = 90 Гб а самих данных там нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2014, 12:19
|
|||
---|---|---|---|
Восстановление базы БЕЗ лога транзакций |
|||
#18+
serg1974serg1974Есть мысли - как восстановить только базу без лога? Никак Надо было уменьшать файл журнала ДО бэкапа ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2014, 13:54
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
Т.е. уменьшать а потом снова увеличивать? (мне нужен большой журнал - т.к. база активно юзается) А может можно делать бакап без лога транзакций? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2014, 13:57
|
|||
---|---|---|---|
Восстановление базы БЕЗ лога транзакций |
|||
#18+
serg1974serg1974Т.е. уменьшать а потом снова увеличивать? (мне нужен большой журнал - т.к. база активно юзается) А где вы тогда возьмете место на диске, если его уже сейчас нет serg1974serg1974А может можно делать бакап без лога транзакций? Сколько еще раз нужно сказать нет ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2014, 14:21
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
GloryА где вы тогда возьмете место на диске, если его уже сейчас нет место есть на том сервере где создается бакап - это разные машины. Причем транзакции также бакапятся, и соответственно при создании full копии - журнал логов на 99% пуст.... Хм. ну да - раз не на 100% - значит отрезать данные нельзя! :) Вы правы!!! Значит можно решить так: - если шринковать данные перед бакапом и задавать лог=90Гб сразу после бакапа - так положено по best practics? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2014, 14:25
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
serg1974serg1974GloryА где вы тогда возьмете место на диске, если его уже сейчас нет место есть на том сервере где создается бакап - это разные машины. Причем транзакции также бакапятся, и соответственно при создании full копии - журнал логов на 99% пуст.... Хм. ну да - раз не на 100% - значит отрезать данные нельзя! :) Вы правы!!! Значит можно решить так: - если шринковать данные перед бакапом и задавать лог=90Гб сразу после бакапа - так положено по best practics?Терабайтный диск стоит менее ста долларов. Зачем взрывать мозг себе и форуму из-за каких-то 90 Гб? Чтобы следовать best practice, надо располагать соответствующим оборудованием/бюджетом. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2014, 15:06
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
serg1974serg1974Т.е. уменьшать а потом снова увеличивать? (мне нужен большой журнал - т.к. база активно юзается) Ну так разверните копию базы из бэкапа, затем усеките её лог и далее бэкап или Detach - Attach. Делов-то ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2014, 15:20
|
|||
---|---|---|---|
|
|||
Восстановление базы БЕЗ лога транзакций |
|||
#18+
хмхмхм, В том то и проблема что развернуть не могу -т.к. места нет. А поставить новый диск - не выход. - Это не просто комп. а сервер, он виртуальный и увеличивать размер вирт. машины плохо - т.к. растет размер его последующих бакапов.... В общем "купить новый диск" не вариант... Думаю правильно настроить бакап-восстановление это более правильно... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2014, 15:23
|
|||
---|---|---|---|
Восстановление базы БЕЗ лога транзакций |
|||
#18+
serg1974serg1974В общем "купить новый диск" не вариант... Думаю правильно настроить бакап-восстановление это более правильно... Сказка про то, как сшить из шкуры 7 шапок, только на новый лад Best practice решения проблемы "у меня не хватает места на диске" это - удалите ненужные файлы - установите новый диск ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2014, 15:39
|
|||
---|---|---|---|
Восстановление базы БЕЗ лога транзакций |
|||
#18+
serg1974serg1974В общем "купить новый диск" не вариант... Думаю правильно настроить бакап-восстановление это более правильно... неправильно думаете, так как вы пытаетесь уйти от проблемы, а не решить её. правильно - отвести под базу столько места, чтоб она помещалась вся и был запас под возможное увеличение как самой базы, так и журнала транзакций. вы сами сказали что вам нужен большой журнал ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&mobile=1&tid=1702429]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
189ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 239ms |
total: | 526ms |
0 / 0 |