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

Откуда:
Сообщений: 2
Доброго всем дня.
Имел Share Point Service 2.0,данный сервис использовал некий Share Point Service 2.0 Data Engine(по ходу урезанный SQL server 2000). Сгорела мамка, вытащил с жестких *.mdf и *.ldf файлы моих баз. Естественно предварительный детач не проводился. Есть даже бэкап базы, сделанный из Enterprise Manager (по не понятной мне причине имеет расширение bkf а не ожидаемый bak). Но обо всем поподробнее..

Пробовал следующее:

Установил Microsoft SQL Server 2005 - 9.00.1399.06, пытаюсь поднять базы:
1) Присоединить базу по mdf вместе с ldf завершается ошибкой

Действие Присоединить базу данных завершилось неудачно для объекта "Сервер" HGOR". (Microsoft. SqlServer. Smo)
Дополнительные сведения:
:--> При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft. SqlServer. Connectionlnfo)
>> Выполнение полнотекстовой операции завершилось неудачей. "Дочерняя служба не существует или была отнечена для удаления."
Преобразование базы данных *STS_ns2_l" с версии 539 до текущей версии 611.
База данных "STS_ns2_l" выполняет шаг обновления с версии 539 до версии 551.
База данных "STS_ns2_l" выполняет шаг обновления с версии 551 до версии 552.
База данных "STS_ns2_l" выполняет шаг обновления с версии 552 до версии 553.
База данных "STS_ns2_l" выполняет шаг обновления с версии 553 до версии 554.
База данных *STS_ns2_l* выполняет шаг обновления с версии 554 до версии 589.
База данных "STS_ns2_l" выполняет шаг обновления с версии 589 до версии 590.
База данных *STS_ns2_l" выполняет шаг обновления с версии 590 до версии 593.
База данных "STS_ns2_l" выполняет шаг обновления с версии 593 до версии 597.
База данных "STS_ns2_l" выполняет шаг обновления с версии 597 до версии 604.
База данных "STS_ns2_l" выполняет шаг обновления с версии 604 до версии 605.
База данных "STS_ns2_l" выполняет шаг обновления с версии 605 до версии 606.
База данных "STS_ns2_l" выполняет шаг обновления с версии 606 до версии 607.
База данных "STS_ns2_l" выполняет шаг обновления с версии 607 до версии 608.
База данных "STS_ns2_l° выполняет шаг обновления с версии 608 до версии 609.
База данных *STS_ns2_l" выполняет шаг обновления с версии 609 до версии 610.
База данных "STS_ns2_l" выполняет шаг обновления с версии 610 до версии 611.
(Microsoft SQL Server, ошибка: 7689)


2)Попытка отработать вариант attach_single_file_db заканчивается точно такой же ошибкой.

3) Попытка создать новую базу и потом. остановив сервер подложить старый mdf , а затем поиграть над этой базой операциями , описанными в данной ветке https://www.sql.ru/faq/faq_topic.aspx?fid=123 (см. действия для SQL 2005 отписанные в комменте)
заканчивается неудачей на шаге :

dbcc checkdb('STS_ns2_1', REPAIR_ALLOW_DATA_LOSS )

С ошибкой:

Сообщение 946, уровень 14, состояние 1, строка 1
Не удалось открыть базу данных "STS_ns2_1", версия 539. Обновите базу данных до последней версии.


4) Ну и в довершении, попытки восстановить базу из вышеуказанного bkf файла (предварительнов создав читую базу с точно таким же названием) завершается 2мя типами ошибок:
Ошибка а) Действие Восстановить завершилось неудачно для объекта 'Сервер* HGOR". (Microsoft. SqlServer. Smo)
Дополнительные сведения:
System.Data.SqlClient.SqlError: Заключительный фрагмент журнала базы данных "STS_ns2_l" не был добавлен в резервную копию. Если журнал содержит данные, которые нужно сохранить, используйте для его резервного копирования BACKUP LOG WITH NORECOVERY. Используйте предложение WITH REPLACE или WITH STOPAT инструкции RESTORE для замены содержимого журнала. (Microsoft.SqlServer.Smo)
(пока не нашел как правильно выполнить предложенный в данной ошибке вариант рестора базы)


Ошибка б) Действие Восстановить завершилось неудачно для объекта 'Сервер* HGOR". (Microsoft. SqlServer. Smo)
Дополнительные сведения:
System.Data.SqlClient.SqlError: Резервный набор данных содержит копию базы данных, отличной от существующей базы данных "STS_ns2_l'. (Microsoft.SqlServer.Smo)


В SQL далеко не гуру, и прежде чем спрашивать перечитал кучу веток данного форума по атачю и восстановлению баз, но из своей ситуации выхода не нашел.
Если кто-то сможет натолкнуть на мысль, заранее спасибо.
25 май 09, 12:30    [7222236]     Ответить | Цитировать Сообщить модератору
 Re: Attach базы через *.mdf , без предварительного detach  [new]
petsa
Member

Откуда:
Сообщений: 1708
автор
Используйте предложение WITH REPLACE

Используйте это предложение при ресторе БД. Если делаете через Management Studio поставьте галку Overwrite the existing Database (первый чекбокс на вкладке Options).
25 май 09, 14:35    [7223250]     Ответить | Цитировать Сообщить модератору
 Re: Attach базы через *.mdf , без предварительного detach  [new]
igorman
Member

Откуда:
Сообщений: 2
Вот что значит галочку нужную кликнуть, после дня мытарств удалось восстановить базу и вытащить нужны данные из неё.
Спасибо за совет.
26 май 09, 13:15    [7228133]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить