PDA

Просмотр полной версии : Восстановление данных справочников из mssql



dctr
07.08.2015, 20:27
Добрый вечер!
Возникла следующая ситуация, на компьютере где был установлен сервер справочников сдох жесткий диск, удалось восстановить все файлы кроме rk7.udb, в sql хранилась полная копия, базу mssql удаломь тоже полностью восстановить. Как восстановить теперь все справочники?
Заранее спасибо!

lEEFT
07.08.2015, 20:40
Попробуйте посмотреть бекапы database\base\backups\databases\2015.07.09.at.12.4 2.

Если были сервера отчетов на других ПК, то можно от туда подсунуть.

И на строить бекапирование не только баз, но и ПО.

dctr
07.08.2015, 20:52
бэкапов нету, какие еще есть варианты решения данной проблемы?

dctr
07.08.2015, 23:00
есть целый rk7log.udb, это как то может помочь?

lEEFT
11.08.2015, 13:29
думаю, что нет. Скорее всего, это лог изменений в базе для "хистори". Странно, что у вас не получилось восстановить ни один из бекапов.
Так что у Вас там с сервером отчетов? Или было "все в одном флаконе"?

dctr
12.08.2015, 18:57
Да, был только один сервер справочников((

lEEFT
12.08.2015, 20:42
получается 3 варианта:
1) Уточнить в UCS по поводу восстановления базы ил лога
2) Отдать винт профессионалам, которые специализируются на этом и восстановить
3) Все с нуля...

dctr
13.08.2015, 23:52
Так и отдавали в компанию storelab, они смогли восстановить все, кроме бэкапов и rk.udb
Насчет восстановления из логов попробую узнать завтра в ucs

lEEFT
19.08.2015, 14:22
странно как-то. Там каждый день делается бекап, а по-умолчанию храниться 100 копий. Не поверю, что из 101 файла ни один не возможно восстановить.

Ariman
16.09.2015, 08:58
Если у вас остались базы Сервера касс (MIDSERVER), тогда вам следующим путем, пусть и длительным, но зато можно будет восстановить всю структуру как было и получить нормальную выгрузку кубов.

1. Качайте MSDN SQL managment studio, поднимайте сервер ms sql и подключайте к нему базу sql.
2. Далее, заходите в базу, и по каждой таблице выполняйте запрос ( проще всего это сделать выбрав правой кнопкой на таблице (Выбрать первые 1000 строк) Либо писать запрос типа SELECT * FROM tableName.

Вам нужно будет переписать значения всех основных таблиц в r-keeper, например завести все блюда с названиями и кодами из таблицы MENUITEMS, кассы из таблицы CASHES, Скидки из таблицы DISCOUNTS, персонал из таблицы EMPLOYESS, и т.д.

Посмотреть какие таблицы вам нужно переписать можно зайдя в кубы - выбрав нужный куб и правой кнопкой - Действия - Посмотреть SQL Запрос, там будут указаны все таблицы которые он использует.

3. После этого когда вся база перебита 1 в 1, делаете выгрузку данных о продажах из сервера касс, и пересчитываете кубы.
4. Результатом должна стать старая бд, со всеми данными о продажах.

Данную операцию я проводил один раз, когда по глупости не сделал бэкапов на другой источник, заняло у меня это почти 2ое суток и в подчинении у меня было 2 человека, которые помогали перебивать. Правда там был ресторан которые работал уже почти 5 лет, поэтому данных было много. Но это я к тому, что задумайтесь, стоят ли усилия того, или проще создать всё по новой. В моем случае очень нужны были все данные о продажах, поэтому выбора не было. И да, прежде чем перебивать всю базу, убедитесь что ни один из файлов в rk7\base\backups\databases не запускается, как правильно говорят 100 файлов исчезнуть не могли, а бэкап там стоит по умолчанию.

dctr
29.09.2015, 18:30
Большое спасибо, буду пробовать!

dctr
17.10.2015, 15:57
Получилось все восстановить, огромное спасибо!

lEEFT
17.10.2015, 17:02
Получилось все восстановитьГрац!

Теперь не забудьте делать backup`ы на другой винт :)

SH
17.10.2015, 23:10
А лучше в облако.

dctr
18.10.2015, 16:20
Солгасен, надежнее облака вряд ли что-то придумать.

Ariman
25.03.2016, 12:12
Солгасен, надежнее облака вряд ли что-то придумать. RAID 6? :)))

Просто хранить в облаке все базы, да еще и копии разных дней - это жесть, буквально через год придется постоянно оплачивать хранилище.
Самый простой и надежный вариант поставить raid 1, два зеркальных жестких диска, с абсолютно идентичной информацией. И настроить shadow copy в windows server. Теневое копирование будет хранить все изменения в файлах БД даже без бэкапов, позволяя откатиться на состояние любого дня, за любой заданный период. У меня стоит период 1 неделя. Shadow copy довольно хорошо оптимизирован и копии не занимают много места, т.к. не тупо копируют файл, а сравнивают изменения в байтах, и побайтово хранят только изменения. А рейд защищает вас от выхода одного из жестких дисков из строя -если один накроется просто меняете его и восстанавливаете зеркальную пару. Остается проблема ОС, как защититься от выхода из строя ОС? запретить работу на сервере и заблокировать политиками безопасности все приложения кроме разрешенных по хэшу, через applocker. Вроде бы всё, получился сервер, который раньше выйдет из строя из за механических повреждений.

SH
25.03.2016, 16:32
Просто хранить в облаке все базы, да еще и копии разных дней - это жесть, буквально через год придется постоянно оплачивать хранилище.
Какой кошмар... Террабайт стоит 2000 рублей в год (https://disk.yandex.ru/pay/tariffs/) - если это жесть, то стоит подумать о смене бизнеса.


Остается проблема ОС,
Остается проблема вирусов (особенно шифровальщиков), остается проблема бп, остается проблема кражи/пожара/наводнения, остается проблема оплаты специалиста...
Хватит уже молиться на рейд, это ни разу не панацея, это очень частичное закрытие вопроса.

Ariman
29.03.2016, 12:10
Какой кошмар... Террабайт стоит 2000 рублей в год (https://disk.yandex.ru/pay/tariffs/) - если это жесть, то стоит подумать о смене бизнеса.


Остается проблема вирусов (особенно шифровальщиков), остается проблема бп, остается проблема кражи/пожара/наводнения, остается проблема оплаты специалиста...
Хватит уже молиться на рейд, это ни разу не панацея, это очень частичное закрытие вопроса.

Проблема вирусов и шифровальщиков в принципе исключается applocker. С остальным вынужден согласиться.