Назад | Перейти на главную страницу

Ошибка сервера, могу ли я получить свою базу данных с жесткого диска?

У меня старый сервер под управлением Windows Server 2003 R2. Windows была повреждена из-за неправильного завершения работы. Я попытался восстановить установку Windows, но это усугубило ситуацию (он попадает на рабочий стол, но нет меню «Пуск» и отсутствуют большинство пунктов меню «Пуск»). Я не могу запускать какие-либо программы, и Windows утверждает, что приложения необходимо переустановить.

В любом случае, этот сервер старый, и у нас есть новый сервер, который взял на себя более 90% обязанностей этого сервера, за исключением размещения базы данных. Для запуска на новом сервере использовалась резервная копия базы данных, но ей около суток. К сожалению, все данные инвентаризации были введены между последней резервной копией и моментом сбоя сервера, и это очень много информации, которую нужно вводить повторно.

Есть ли способ получить информацию о базе данных прямо с жесткого диска (подключив его к другому компьютеру для чтения)? Базой данных управлял MS SQL Server 2008. Я использовал сторонний инструмент резервного копирования SQL и MS SQL Server Management на самой машине, и он не загружает приложение (жалуется на отсутствие основных файлов Windows и .Net). Повторный запуск установки Windows оказался бесполезным, что привело к тому же искаженному рабочему столу.

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

http://msdn.microsoft.com/en-us/library/ms187858.aspx

Допустим, ваша база данных была названа «MyDatabase», а файлы - «MyDatabase_Data.mdf» и «MyDatabase_Log.ldf».

Скопируйте их в папку на вашем новом сервере, скажите «c: \ MySQLServer», а затем присоедините их как новую базу данных:

USE master;
GO
CREATE DATABASE MyDatabase 
    ON (FILENAME = 'C:\MySQLServer\MyDatabase_Data.mdf'),
    (FILENAME = 'C:\MySQLServer\MyDatabase_Log.ldf')
    FOR ATTACH;
GO

Я бы попытался скопировать файл (ы) базы данных с этого жесткого диска на другой компьютер с MS SQL 2008 и посмотреть, доступен ли файл. Похоже, что некоторые файлы Windows повреждены, но это не значит, что ваш файл базы данных поврежден. Эта информация может быть полезной:

https://stackoverflow.com/questions/6584938/move-sql-server-2008-database-files-to-a-new-folder-location