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

Откуда:
Сообщений: 18
Добрый день, коллеги.
Ситуация:
есть база 1С + СУБД MS SQL 2014.
представлена двумя файлами main.mdf и main.ldf.
доступа до ms sql я самолично не имею.
информация от админов - база мейн повреждена, а именно сам файл базы мейн поврежден.
вход в конфигуратор 1С невозможен.
т.е. база повреждена на каком -то уровне глубже 1С.
впрс:
каков порядок действий для восстановления этой базы, если учесть, что никакие бекапы не создавались - вообще,
ни полные, ни разностные, ни журналов транзакций.
впрс. номер 2:
так как лог файл постоянно разрастается, если его не сжимать, то я могу предположить, что его можно использовать для восстановления - а как, к чему его добавить, нужно сделать какой-то начальный бекап.
нужно ли перевести испытуемую сломанную базу в емергенси режим , сделать бекап - какой???
к этому бекапу прицепить только что сделанный бекап лога?
какой вообще смысл имеют старые давно закоммиченные данные в лог файле, если сам файл не бекапится.
Или лог файл - это просто возможность восстановиться на необходимый момент времени в некоторых случаях и не более того.
А базу восстанавливать в случае её поломки и отсутствия бекапов нужно только с помощью чекдб?
_______________
28 июн 18, 21:48    [21529766]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Gokusa
если учесть, что никакие бекапы не создавались - вообще,
ни полные, ни разностные, ни журналов транзакций.
...

так как лог файл постоянно разрастается, если его не сжимать, то я могу предположить, что его можно использовать для восстановления - а как, к чему его добавить, нужно сделать какой-то начальный бекап.

вы путаетесь в показаниях.
если лог постоянно рос, то казалось бы,
модель базы должна быть полной.
но: модель не может быть полной, если не был сделан полный бэкап базы.
итого: выясняйте, какая у вас модель и где полный бэкап.
28 июн 18, 21:55    [21529790]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Gokusa
Member

Откуда:
Сообщений: 18
Yasha123,
не понимаю.
лог рос и вырос.
бекапов нет.
по факту сейчас есть поломанная база представленнная двумя файлами
мейном и логом.
никаких других файлов нет.
нужно базу восстановить.
впрс.
для чего нужен лог в этом случае- он вообще нужен для чего-то, или можно его смело выкинуть?
28 июн 18, 22:10    [21529834]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Gokusa
Member

Откуда:
Сообщений: 18
Yasha123
но: модель не может быть полной, если не был сделан полный бэкап базы.

???? не понимаю.
бекапа нет.
никакого бекапа нет, есть только два файла мдф и лдф.
впрс.
лдф для чего-то нужен или с ним не работать по теме восстановления?
28 июн 18, 22:12    [21529840]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Gokusa
Member

Откуда:
Сообщений: 18
Yasha123
но: модель не может быть полной, если не был сделан полный бэкап базы.

это бредядина, ща проверил только что.
модель может быть полной при отсутствии бекапа, и наличии лога 1.5 гб и самой базы 10 мб.
п.с. как-то можно править свое предыдущее сообщение?
28 июн 18, 22:25    [21529867]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7403
Gokusa, журнал был бы нужен, если бы был бэкап. В этом случае восстанавливаете бэкап и восстанавливаете журнал на нужный момент времени. Но это для полной модели восстановления базы. Если база в простой модели, то спасут только бэкапы.
Если мне память не изменяет, 1С включает полную модель. Если вы могли сжимать журнал, то никакая у вас не полная модель, как написали выше. Или не была инициализирована.
Опыта ремонта поломанных баз не имею.
28 июн 18, 22:30    [21529875]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Gokusa
Member

Откуда:
Сообщений: 18
имелось ввиду вот что.
Gokusa
так как лог файл постоянно разрастается, если его не сжимать, то я могу предположить, что его можно использовать для восстановления - а как, к чему его добавить, нужно сделать какой-то начальный бекап.

так как лог файл постоянно разрастается, то стало быть он кошарный и полезный, и если его не сжать- то наверное можно к чему то "приаттачить" для восстановления, иначе зачем он вообще в живой базе без бекапов, другое дело если его сжать - то уже "приаатачить" ни к чему ни удасться.
я вот что имел ввиду, а вовсе не то, что я или кто-то сжимал файл лога на поломанной базе после её поломки.
ну карочи, как я понял - лог файл вообще не нужен для восстановления без бекапа.
это верно?, и нет никаких возможностей чекнуть базу и сравнить потом её сожержимое как-то по журналу транзакций?
28 июн 18, 23:22    [21529979]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Gokusa
Yasha123
но: модель не может быть полной, если не был сделан полный бэкап базы.

это бредядина, ща проверил только что.
модель может быть полной при отсутствии бекапа, и наличии лога 1.5 гб и самой базы 10 мб.
п.с. как-то можно править свое предыдущее сообщение?

бредятина то, что у базы полная модель при том,
что не было ни одного полного бэкапа.

---
скорее всего, при ваших-то размерах базы,
полный бэкап действительно кто-то делал,
просто вы об этом не знаете
---
ну и напоследок:
если найдете полный бэкап, то следующие действия:
создаете на сервере базу с тем же именем,
переводите ее в фулл (т.е. alter database ... set recovery full + full baackup),
переводите в оффлайн;
подменяете файл лога на ваш в 1,5Гб,
переводите базу в онлайн (она не перейдет, но это надо сделать),
теперь делаете бэкап лога с no_truncate
и вот после всего этого восстанавливаете найденный полный + только что снятый бэкап лога
---
нет полного бэкапа -- спросите с того, кто его сделал.
потому что если бы его не делали -- база бы в фулл не перешла и лог бы так не вырос
29 июн 18, 01:05    [21530155]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Gokusa
так как лог файл постоянно разрастается, то стало быть он кошарный и полезный

о кошарности рассуждать -- это вам к главному кошарику из смешариков, он же эксперт по совместительству.
а если по делу, то еще раз:
лог так вырос потому, что модель полная,
полную модель получают только переведением в фулл + ПОЛНЫЙ БЭКАП.
и вот именно в таких условиях при наличии полного бэкапа ваша база может быть восстановлена
29 июн 18, 01:06    [21530157]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Посетитель
Member

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

а разве БД нельзя создать сразу в full recovery model?

MSDN
Вновь созданные пользовательские базы данных используют ту же модель восстановления , что и база данных model.
29 июн 18, 08:11    [21530278]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Посетитель
Yasha123,

а разве БД нельзя создать сразу в full recovery model?

MSDN
Вновь созданные пользовательские базы данных используют ту же модель восстановления , что и база данных model.

да сколько угодно.
хоть бы и руками написать alter database set recovery full.
только база от этого в фулл не перейдет,
а останется в pseudo simple.
лог будет по-прежнему переиспользоваться, как в симпл.
и если вы попробуете сделать бэкап лога базе, которая в pseudo simple
(т.е. где не делали полный бэкап после перевода в фулл),
получите сообщение о невозможности этого сделать.

New script: is that database REALLY in the FULL recovery mode?

Randal
One of the perennial problems facing both experienced and involuntary DBAs is how to tell
whether a database is really in the Full recovery model or not?
This is complicated by the fact that when you switch a database into the Full recovery mode,
it actually behaves as if it’s in the Simple recovery mode until the log backup chain is established

(this is commonly called being in ‘pseudo-Simple’).

база начнет удерживать лог только после того, как будет сделан полный бэкап.
29 июн 18, 08:44    [21530314]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Gokusa
А базу восстанавливать в случае её поломки и отсутствия бекапов нужно только с помощью чекдб?

это если база вообще приаттачится.
вы хоть это пробовали сделать?
29 июн 18, 08:50    [21530322]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30810
Gokusa
так как лог файл постоянно разрастается, то стало быть он кошарный и полезный, и если его не сжать- то наверное можно к чему то "приаттачить" для восстановления, иначе зачем он вообще в живой базе без бекапов
Сервер же не знает, что полный бакап удалили, вот он и сохраняет данные в логе.

Gokusa
ну карочи, как я понял - лог файл вообще не нужен для восстановления без бекапа.
это верно?, и нет никаких возможностей чекнуть базу и сравнить потом её сожержимое как-то по журналу транзакций?
Если база подсоединена, то можно попробовать сделать полный бакап, потом бакап лога, а потом уже восстановиться на нужный момент времени.
Но это сработает, если база целая, и нужно просто откатить изменения. Если база битая, то вряд ли получится.

Gokusa
впрс.
для чего нужен лог в этом случае- он вообще нужен для чего-то, или можно его смело выкинуть?
В общем, да, можно выкинуть, если база битая, а бакапа нет.
Gokusa
Или лог файл - это просто возможность восстановиться на необходимый момент времени в некоторых случаях и не более того.
А базу восстанавливать в случае её поломки и отсутствия бекапов нужно только с помощью чекдб?
Лог файл - это возможность восстановить базу на любой момент времени, используя его совместно с полным бакапом.

Чекдб как основной инструмент восстановления не используется, это вспомогательное средство. Но иногда он помогает, да, хотя и достаточно редко.

При отсутствии бакапов единственным инструментом является набивание данных заново с первичных документов.
29 июн 18, 10:12    [21530514]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Тролин
Member

Откуда:
Сообщений: 348
Gokusa, БД в каком состоянии сейчас находится? Suspect Mode?
29 июн 18, 12:41    [21531028]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Gokusa
Member

Откуда:
Сообщений: 18
Всем спасибо, очень интересно было все узнать и проверить.
29 июн 18, 16:41    [21531721]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Gokusa
Member

Откуда:
Сообщений: 18
Gokusa,
а впрс такой дурацкий, почему журнал транзакций при выполнении бекапа журнала то сжимается, то не сжимается.
ставлю полную, делаю полный бекап, пишу даннные, журнал вырастает, делаю бекап журнала - он делается, но журнал не усекается
перевожу в простую, усекаю журнал до 1 мб.
я не понимаю логику ms sql, почему журнал не усекается при его резервном копировании при полной модели?
29 июн 18, 16:50    [21531744]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Gokusa
почему журнал транзакций при выполнении бекапа журнала то сжимается, то не сжимается.

журнал вообще никогда не сжимается,
если только его специально не сжать.
откуда весь этот выплеск фантазии?
Козлов & Co?
29 июн 18, 17:05    [21531801]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Gokusa
Member

Откуда:
Сообщений: 18
Yasha123
Gokusa
почему журнал транзакций при выполнении бекапа журнала то сжимается, то не сжимается.

журнал вообще никогда не сжимается,
если только его специально не сжать.
откуда весь этот выплеск фантазии?
Козлов & Co?

просто вчера, была база в ней было минимальное значение журнала 1 мб, он вырос до 250 мб, сделал его бекап, он стал 1 мб.
сегодня другая база - и не удается, во = превых .. установить его минимальный размер меньше текущего, и уменьшить его вчерашним способом.
Ну и , самое главное,
разумно предположить, что если журнал будет постоянно расти за годы он достигнет потрясающих размеров.
значит нужно его как-то сжимать.( сжимать усекать - мне главно чтобы место было 1 мб, что там у него внутри используется не используется - меня как потребителя ms sql слабо должно волновать), но сейчас по факту имеем база и гигантсикй журнал - и че его постоянно переводить в симпле и там сжимать- несуразица какая-то.
+
на курсах 1с говорят - "надо сделать бекап журнала, тогда он уменьшится" - у меня вот руки не доходили взять кого-нить за язык и сказать покажи, всегда верил на слово 1С
29 июн 18, 17:45    [21531928]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Gokusa
Member

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

под постоянным переводом я имею ввиду создавать план в нем писать
алтер табле базе фулл рековери
симпле рековери иипр.
существует какой-нить более приятный способ не разжирать журнал, чтобы он был не более например 500 мб, и в рамках этого плясал не меняя моделей восстановления базы?
как оказалось все не так однозначно, как казалсь:)
29 июн 18, 17:48    [21531934]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Gokusa
просто вчера, была база в ней было минимальное значение журнала 1 мб, он вырос до 250 мб, сделал его бекап, он стал 1 мб.

но ведь это чистой воды враки.
Тролин -- это вы же,
в моменты самокритичности?
29 июн 18, 17:57    [21531948]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Владислав Колосов
Member

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

не надо усекать, при резервном копировании транзакции журнала переносятся в резервную копию, а зафиксированные транзакции освобождают место в журнале и сервер пишет в тот же файл не увеличивая размеров без необходимости.

Читайте справку, дабы не рассуждать о вкусе устриц.
29 июн 18, 18:03    [21531957]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Gokusa
Member

Откуда:
Сообщений: 18
Владислав Колосов,

да, он там освобождает , переносит при этом место может не отдаваться, как он им распоряжается - это неведомо.ок.
тогда впрс:
для чего нужен минимальный размер файла журнала.
по поводу враки- вчера 100% после создания бекапа журнала, журнал уменьшился.
т.е. мне удалось поставить 1 мб в минимальный размер файла логов и он туда встал и сработал.
а такой впрс:как быть если журнал вырос до неприемлемо большого размера, и его нужно уменьшить.
не переводя в простую модель это можно сделать?
29 июн 18, 18:11    [21531967]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
Gokusa
Yasha123
пропущено...

журнал вообще никогда не сжимается,
если только его специально не сжать.
откуда весь этот выплеск фантазии?
Козлов & Co?

просто вчера, была база в ней было минимальное значение журнала 1 мб, он вырос до 250 мб, сделал его бекап, он стал 1 мб.
сегодня другая база - и не удается, во = превых .. установить его минимальный размер меньше текущего, и уменьшить его вчерашним способом.
Ну и , самое главное,
разумно предположить, что если журнал будет постоянно расти за годы он достигнет потрясающих размеров.
значит нужно его как-то сжимать.( сжимать усекать - мне главно чтобы место было 1 мб, что там у него внутри используется не используется - меня как потребителя ms sql слабо должно волновать), но сейчас по факту имеем база и гигантсикй журнал - и че его постоянно переводить в симпле и там сжимать- несуразица какая-то.
+
на курсах 1с говорят - "надо сделать бекап журнала, тогда он уменьшится" - у меня вот руки не доходили взять кого-нить за язык и сказать покажи, всегда верил на слово 1С

Врут, не уменьшится. Но бэкап журнала позволяет переиспользовать неактивные виртуальные файлы журнала транзакций, которые попали в бэкап. Либо можно их удалить и уменьшить размер физического файла путём операции усечения, но для этого нужно отдельно подсуетится. Более опытные товарищи пусть поправят, если я в свою очередь наврал.
29 июн 18, 18:20    [21531981]     Ответить | Цитировать Сообщить модератору
 Re: Восстановить базу данных без бекапа  [new]
Gokusa
Member

Откуда:
Сообщений: 18
Очень лысый,
к этому все и идет, без отдельной суеты, я не нашел способа это реализовать.
всем спасибо.
29 июн 18, 20:04    [21532123]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить