У меня есть SQL Server (в Windows XP), где я публиковал отчеты с помощью диспетчера отчетов и множества баз данных. В SQL Server у меня есть запланированные задания для запуска обновлений таблиц и т. Д. Я пришел сегодня утром и обнаружил, что корневой диск умер. Мой диск разбит на разделы, так что мои базы данных не находятся на корневом диске, поэтому я смог спасти базы данных.
Я смог использовать предыдущий жесткий диск (примерно месяц назад - мы обновили) и загрузить текущие базы данных на старый диск. Я пытаюсь довести старый диск до скорости сегодняшних данных, заданий, файлов ...
Мои базы данных загружались нормально.
Что я не могу сделать, так это просмотреть какие-либо отчеты, использующие диспетчер отчетов. Несколько вопросов:
Любые предложения приветствуются.
Я собираюсь предположить, из ваших вопросов, что вы могли потерять master и msdb. В остальном это сложно сказать по вашему вопросу, но ...
Если вы потеряли мастер, но воссоздали логины, ваши логины SQL могут быть «осиротевшими». Вы можете определить, есть ли у вас осиротевшие пользователи, запустив
USE <database_name>;
GO;
sp_change_users_login @Action='Report';
GO;
Если у вас есть осиротевшие пользователи, вы можете исправить их с помощью
USE <database_name>;
GO
sp_change_users_login @Action='update_one', @UserNamePattern='<database_user>',
@LoginName='<login_name>';
GO
(Код из MSDN.)
Первое, что я сделал бы, это аккуратно остановил бы ваши службы SQL Server. Затем сделайте копию всех файлов ldf / mdf на сервере. Также найдите расположение файлов резервных копий - они должны называться MyDBname_backup_200907220000.bak и переименовать расширение в что-то вроде .hold. Таким образом, они не будут уничтожены планом обслуживания, если вам придется идти на восстановление.
После этого верните только службу SQL Server, а не агент сервера.
Убедитесь, что базы данных по-прежнему помечены как подозрительные. Если они
ALTER DATABASE [MyDBName]
SET EMERGENCY
GO
EXEC sp_resetstatus 'your_db_name';
GO
DBCC DBRECOVER ('your_db_name')
GO
ALTER DATABASE [MyDBName]
SET ONLINE
GO
Если это не сработает - отправьте ответ, и мы увидим, что еще мы можем сделать.