можно ли восстановить сервер MSSQL, скопировав его каталог / файлы данных? У меня поврежден жесткий диск, и мне удалось восстановить каталог C: \ Program Files (x86) \ SQL Server 2008 \ MSSQL \ MSSQL10.MYDATABASE. Я скопировал это в свою новую установку и попытался запустить службу, но это не удалось. Возможно ли как-то восстановить базу данных?
Я использую 64-разрядную версию Windows 7 и MS SQL Server 2008 R2.
Вам не следовало копировать весь каталог. Вы должны были скопировать только базу данных и файлы журнала транзакций для рассматриваемой базы данных.
Удалите и повторно установите SQL Server на целевом хосте.
Скопируйте файлы базы данных и журнала транзакций для соответствующей базы данных на целевой хост.
Прикрепите базу данных.
Для восстановления базы данных из файлов вам понадобится файл данных - MDF, иногда также существует NDF, и файл журнала - LDF.
Если это не удается, попробуйте прикрепить только файл MDF, используя sp_attach_single_file_db функция
EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2012Restored' ,
@physname = N'D:\ApexSQL\backups\CS2.mdf';
Если это не удается, файл MDF может быть поврежден. Вы можете попробовать сторонний инструмент, который прочитает файл MDF и восстановит ваши данные.
Восстановление ApexSQL - это инструмент, который может читать поврежденный файл MDF, воссоздавать все объекты и восстанавливать записи таблиц. Он может создать сценарий T-SQL или создать копию базы данных
Отказ от ответственности: я работаю в ApexSQL инженером службы поддержки
В точности то, что сказал @joeqwerty, всего несколько советов на будущее.
Лучше всего хранить файлы базы данных .MDF на отдельном диске от файлов журналов .LDF. Также рекомендуется хранить все базы данных на диске C :. TEMPDB лучше всего работает, когда находится на диске самостоятельно.
Вот статья, как переместить системные dbs Tech Net