#0
by vvv29
Сервер на котором лежала база(SQL), неожиданно ушел в перезагрузку, при запуске сервера пользователи не могут подключиться к базе, выдается ошибка "база не обнаружена". В энтерпрайз манагер SQL, база показана серым цветом и рядом с наименованием в скобках написано(Suspect)Внутри НИЧЕГО НЕТ !!! (No items). ПЛИЗ, какие действия предпринять, что бы не осложнить ситуацию?
#2
by vvv29
Файлы базы *.mdf и *.ldf на месте, сейчас их скопировал. Архив ведется, каждую ночь но если с него восстанавливать будут утеряны данные за пол дня (25 пользователей)около сотни доков. Пользователей отключл, СКЛ сервер остановил, что дальше делать пока не знаю
#3
by Парижская фанера
Попробуй из вывести из suspect, читать что-то типа этого: ЗЫ Яндекс знает про suspect
#4
by vvv29
Создал новую базу, как приаттачить файлы старой? При остановленом скл подменил файлы новой базы, на файлы старой, новая база тоже стала suspect
#5
by Просто Миша
Стал восстанавливать как указано в ссылке, дошол до 6 го пункта, база перешла в режим emergency mode. выполнение DBCC REBUILD_LOG('MagBase', 'c:sqldataMSSQLdataBase_Log.LDF') --SQL приводит к ошибке Server: Msg 5025, Level 16, State 1, Line 1 The file 'D:Microsoft SQL ServerMSSQLDatasklad_log.LDF' already exists. It should be renamed or deleted so that a new log file can be created. DBCC execution completed. If DBCC printed error messages, contact your system administrator. Имя базы, и пути к файлу лога указаны правильно Подскажите плиз, что ещще можно сделать? Вешаться и пить яд не предлагать.
#6
by Просто Миша
Ну подскажите плиз, если база в emergency mode, то что это такое и как подключить?
#7
by romix
Бэкап есть? Еще раз его (и базу) забэкапь чтобы случайно не покоцать то что есть. Тренируйся с восстановлениями на другом компе.
#10
by Просто Миша
Бекап есть, средствами восьмерки, не скл, но бекап ночной, пол дня выпало. Сейчаса на складе затишье, все доки прошли до обеда, отгрузка началась, есть время до утра восстаговить, подскажите что ещще можно попробовать?
#11
by romix
Ну уже нормально (если что, вобьют по печатным докам). Можно попробовать (только сохрани то что от базы осталось!) застопить SQL-сервер, выкинуть (удалить) журнал транзакций sklad_log.LDF запустить SQL-сервер Попробуй комп перегрузить. Попробуй еще поищи ключевые слова. Там хорошая справка. Или в гугле.
#13
by Просто Миша
По справке с аглицким проблемы. Журнал транзакций удалил. Сервер перегрузил. SQL-запустил, нового файла транзакций не образовалось. База находится в режиме emergency mode. В QA видны таблицы, в EM - ничего нет.
#16
by Просто Миша
14 Пункт меню Detach недоступен :( Удалил базу и Попробовал приаттачить сохраненные файлы выдает ошибку 3624 в описании не описана. 12 из ссылки 8) Если же наоборот, поврежден ldf-файл, но остался *.mdf файл, при подключении база ругается на отсутствие/повреждение лога транзакций. В этом случае можно воспользоваться ХП "sp_attach_single_file_db" Например: use master EXEC sp_attach_single_file_db @dbname = 'sklad', @physname = 'D:Microsoft SQL ServerMSSQLDatasklad.mdf' В ответ Server: Msg 3301, Level 21, State 2, Line 1 Invalid log record found in the transaction log (logop 105). Connection Broken
#19
by Просто Миша
Удалял, база была в режиме emergency mode, но при запуске SQL на отсутствие лога не ругался почемуто. А новый файл лога не создавался.Потом добавил из архива файл лога и была выдана ошибка как в 16, сейчас запустил жду результата. Долго наверное ждать придется база 7 гигов с лишним
#20
by romka-ka
удали базу. подсунь ему в папку только mdf файл и процедуру sp_attach_single_file_db. Должно помочь.
#22
by Просто Миша
20 Правильно ли так? 1-удалить базу 2- создать новую базу в новом каталоге 3- удалить оба файла новой базы 4- скопировать старый файл mdf с именем нового в новый каталог 5- запустить QA и выполнить EXEC sp_attach_single_file_db @dbname = 'имя новой базы ', @physname = 'ПутьИмя нового Файла.mdf'
#23
by romka-ka
не совсем 1-удалить базу файлы (базы удалятся автоматом).поэтому файлы заранее нужно скопировать в строну, при остановленном скул сервере. 2- скопировать старый файл mdf с тем же именем в тот же каталог (можно новое имя и новый каталог). 3- EXEC sp_attach_single_file_db @dbname = 'имя новой базы (можно и старое)', @physname = 'ПутьИмя нового Файла.mdf (можно старое)'
#24
by Просто Миша
20- Удалил базу оставил в старом каталоге один файл mdf запустил процедуру в ответ Server: Msg 1813, Level 16, State 2, Line 1 Could not open new database 'sklad'. CREATE DATABASE is aborted. Device activation error. The physical file name 'd:Microsoft SQL ServerMSSQLdatasklad_log.LDF' may be incorrect.
#25
by Просто Миша
21- копирую базу на другой комп, как там ее подключать правильно? Приатачить? для приатачивания достаточно одного файла данных или надо ещще и лог?
#27
by Просто Миша
Копирование скоро закончится, попробую на новом компе(там ещщ один SQL)Следующее В новом каталоге переименовываю старый файл mdf Запускаю EXEC sp_attach_single_file_db @dbname = 'НовоеИмя', @physname = 'Путьновое имя.mdf' Вопрос: Имя базы должно совпадать с именем файла mdf?
#30
by Просто Миша
Запустил на другом компе, с другой папки под другим именем,один только файл mdf В ответ пишет Could not open new database 'ssssss'. CREATE DATABASE is aborted. Device activation error. The physical file name 'd:Microsoft SQL ServerMSSQLdatasklad_log.LDF' may be incorrect. то есть он все равно пытаеться найти старый файл лога, и без старого файла лога отказывается создавать базу
#31
by Просто Миша
а когда подсунул старый файл лога, выдал что то новое Server: Msg 3624, Level 20, State 1, Line 1 Location: recovery.c:2014 Что это такое?
#35
by Просто Миша
В общем получается EXEC sp_attach_single_file_db @dbname = 'ИмяБазы', Без файла лога нового лога не создает А со старым выдало ещще вот такой результат Server: Msg 3301, Level 21, State 2, Line 1 Invalid log record found in the transaction log (logop 232).
#38
by Просто Миша
34 - бекап есть, но в нем пол дня доков нет, бекап средствами 8-ки(база данных) Если я ее восстановлю, то уже врядли наверное можно дополнить средствами SQL недостающие данные?
#40
by Просто Миша
36- Бекап ведется только средствами 8-ки (есть база с прошлого дня). 37 - Оставлял пути все прежние, лог удалял, ищщет его и без него не хочет подключать базу.
#41
by vde69
40 - Лог (SQL-евский) дожен быть (его не может не быть!!!) от старой базы, или он не читаеться??? Процедура востановления такая (привожу для 7.7, для 8 не разу не востанавливал, но думаю та-же, если нет то не сильно не бейте :) ), 1. Заводишь пользователя в SQL (например 1c_dbo) ему даешь права админа 2. Конектишся к SQL от его имени (ОБЯЗАТЕЛЬНО!!!!!!!) 3. создаешь пустую базу (например 1с) 4. ДИСКОНЕКТ!!!!!!! 5. В конфигураторе (сервере 1с) указываешь параметры базы и прочее + сохраняешь 6. В конфигураторе -> загрузить данные (подсовываешь свой бекап) 7. Выходишь из 1с 8. Конектишся к SQL от имени 1c_dbo и ресторишь из файла лога с момента бекапа до конца (только в том случае если убитая база имела модель фулл) 9. Правишь права 1c_dbo 10. ДИСКОНЕКТ!!!!!
#42
by Просто Миша
До пункта 8 вроде все ясно. Делал уже, только не совсем с правами понятно. Я пустую базу и загрузку данных в нее и так могу создать. Не ясно, как дальше, по пункту 8 (база фулл) добавить недостающее, если можно подробнее с этого места плиз. А именно как _с_момента_бекапа_ как этот самый момент определить?
#43
by Просто Миша
41 - Восстановил базу из бекапа. База Фулл. Имеются mdf и ldf файлы на момент краха, как теперь добавить недостающее из файла лога? В ЕМ restore database пункт first baskup to restore не доступен. Может надо подсунуть файл транзакций сейчас, взамен восстановленного? плиз
#45
by vde69
42 - в данном случае файл лога ldf содержит все SQL команды к базе, соответственно если их выполнить, то база востановиться, единственная заморочка это выделить те команды которые нужны (а файл, ОГРОМНЫЙ) Если ты не СПЕЦИАЛИСТ в SQL запросах то лучше не пытаться. (можешь попробовать в него влезьть и посмотреть) Единственное можно попробовать обмануть (но сам не пробовал) устанавливаешь на серваке дату и время последнего бекапа, востанавливаешь ее, далее restore log file, в теории он должен сам все востановить
#46
by Просто Миша
Ок, только поздно уже, сегодня пришлось пользователям с 6-ти утра недостающие доки вбивать. Я вот на будущее хочу спросить, у меня каждую ночь, средствами 8ки делается архив базы.Занимает это дело чде то часа полтора. Днем у операторов есть перерыв пол часа - 40 минут. Средствами SQL можно делать разностную копию которая делается (как написано в книге) быстрее чем полная копия.Вот если я днем в перерыв буду делать эту разностную копию, смогу я ее накатать потом на плный архив сделанный средствами 8-ки? или же и полный архив тоже надо делать средствами SQL?
#47
by vde69
Я рекомендую делать бекап средствами SQL настраиваетья в Job 1. ежедневный бекап 2. переодический бекап (например 1 раз в месяц) 3. бекап логов (вещь полезная не только для востановления данных, но и как средстро уменьшения размера лога на диске), переодичность как в п.2 (делаеться ДО П2) Тогда можно востановить базу средствами SQL до момента краха (если выжил файл логов) востанавливаем бекап п2 и ресторим файл логов (он уже усечен до момента бекапа), или на момент ежедневного бекапа (если файл логов не выжил)
#48
by Просто Миша
47 спасибо, займусь более тщательной настройкой резервного копирования. Вещь весьма полезная, (когда прижмет).
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Количество знаков в числовых реквезитах
- Как закрывать счета 20, 26 не на 90 счет
- v77 Как в запросе выбрать к-во строк в документе
- заполнение подбором подчиненного справочника
- SQL или не SQL ??? как решить ?
- Доступность табличной части в документе
- Отборы на форме в 1Cv8 - табличное поле с типом "Отбор"
- Могут ли корреспондировать два пассивных счета в Бюдж ред5
- Диаграмма Excel в 1С
- Книга покупок и списание кредиторской задолженности - ошибка формирования
- Как организовать поиск в справочнике по неполному соответствию
- Конвертация Данных (Перенос операций)
- ПолучитьФормуНовогоЭлемента и получить созданый элемент
- Парсер метаданных для 8-ки.
- Сколько мне взять за внедрение 1С?
- Запуск 1С 7.7 с автоматической индексацией БД
- ВозможностьЧтенияXML
- Смена фамилии главбуха. Реквизит то непереодический
- Консоль запросов. Сумма по табличной части в колонке...
- где взять обработку TRANREF.ert