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

Откуда:
Сообщений: 5
Здравствуйте.
Прошу Вашей помощи направления на путь истины и восстановления работы сервера, а затем и баз данных.
Произошло следующее:
Были истекшие периоды использования у MS SQL Server R2 (была 180 дневная версия, напоминали начальству о необходимости купить неоднократно, есть служебки, но купили после аварии, да поздно) и RamDisk. В результате остановки регламентного обслуживания SQL сервер стал тормозить и под руками программиста из франчайзы завис. Он сервера отправил в перезагрузку.
На диске смонтированным RamDisk хранились ldf 2-ух баз 1с и папка TEMPDB, сами базы 1С (mdf) живут на ssd.
Сейчас не запускается служба MSSQL SERVER, она ругается на отсутствующую базу tempdb.
Подскажите пожалуйста как восстановить работу сервера для корректного присоединения баз 1С?
Спасибо.
21 янв 17, 16:40    [20130309]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление работы SQL Server 2008R2  [new]
Tigrist
Member

Откуда: Россия-Таиланд-Корея
Сообщений: 479
macoi2,
ваши контакты?
и какой бюджет?
21 янв 17, 17:13    [20130372]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление работы SQL Server 2008R2  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31865
macoi2
Сейчас не запускается служба MSSQL SERVER, она ругается на отсутствующую базу tempdb.
База tempdb создаётся при старте сервера.
Может, нет диска, где она была, или к нему нет прав?

Вообще, смотрите логи сиквела, там что то написано.
21 янв 17, 17:15    [20130375]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление работы SQL Server 2008R2  [new]
macoi2
Member

Откуда:
Сообщений: 5
Дело в том что предыдущим админом был установлен RamDisk и из оперативной памяти был нарезан диск на 8Гб для хранения на нем папки TEMP и файлов журналов 2 основных баз.
Никто не знал о "подарке", что была установлена пробная версия, которая тихо и мирно не говоря не слова работала до перезагрузки, после которой она удалила раздел со всем содержимым. После восстановления работы (покупки этой программы из своего кармана) RamDisk, во вновь появившемся разделе оказалось девственно пусто.
Бэкапы (выгрузки баз из 1С) есть, одной от пятницы - даты аварии, другая от прошлой недели, тк она не нагружена и делать ее чаще не было целесообразно.
Я могу временно перевести сотрудников на файловую с терминалками, а тем временем пересобрать SQL заново.
Но меня более интересует процесс поучения себя восстановлению работоспособности имеющегося SQL, для пополнения банка знаний.

Из лога SQL вижу:
2017-01-20 17:16:42.36 spid18s Starting up database 'work1'.
2017-01-20 17:16:42.36 spid23s Starting up database 'work2'.
2017-01-20 17:16:42.37 spid16s Error: 17207, Severity: 16, State: 1.
2017-01-20 17:16:42.37 spid16s FileMgr::StartLogFiles: Operating system error 2(Не удается найти указанный файл.) occurred while creating or opening file 'E:\log\work1_log.ldf'. Diagnose and correct the operating system error, and retry the operation.
2017-01-20 17:16:42.37 spid17s Error: 17207, Severity: 16, State: 1.
2017-01-20 17:16:42.37 spid17s FileMgr::StartLogFiles: Operating system error 2(Не удается найти указанный файл.) occurred while creating or opening file 'E:\log\work2_log.ldf'. Diagnose and correct the operating system error, and retry the operation.
2017-01-20 17:16:42.37 spid16s The log cannot be rebuilt because there were open transactions/users when the database was shutdown, no checkpoint occurred to the database, or the database was read-only. This error could occur if the transaction log file was manually deleted or lost due to a hardware or environment failure.
2017-01-20 17:16:42.37 spid17s Error: 5123, Severity: 16, State: 1.
2017-01-20 17:16:42.37 spid17s CREATE FILE encountered operating system error 3(Системе не удается найти указанный путь.) while attempting to open or create the physical file 'E:\log\work1_log.LDF'.
2017-01-20 17:16:42.37 spid17s Error: 5123, Severity: 16, State: 1.
2017-01-20 17:16:42.37 spid17s CREATE FILE encountered operating system error 3(Системе не удается найти указанный путь.) while attempting to open or create the physical file 'E:\log\work2_log.LDF'.
2017-01-20 17:16:42.60 spid13s Error: 17204, Severity: 16, State: 1.
2017-01-20 17:16:42.60 spid13s FCB::Open failed: Could not open file E:\temp\tempdb.mdf for file number 1. OS error: 3(Системе не удается найти указанный путь.).
2017-01-20 17:16:42.60 spid13s Error: 5120, Severity: 16, State: 101.
2017-01-20 17:16:42.60 spid13s Unable to open the physical file "E:\temp\tempdb.mdf". Operating system error 3: "3(Системе не удается найти указанный путь.)".
2017-01-20 17:16:42.60 spid13s Error: 1802, Severity: 16, State: 4.
2017-01-20 17:16:42.60 spid13s CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
2017-01-20 17:16:42.60 spid13s Error: 5123, Severity: 16, State: 1.
2017-01-20 17:16:42.60 spid13s CREATE FILE encountered operating system error 3(Системе не удается найти указанный путь.) while attempting to open or create the physical file 'E:\temp\tempdb.mdf'.
2017-01-20 17:16:42.60 spid13s Could not create tempdb. You may not have enough disk space available. Free additional disk space by deleting other files on the tempdb drive and then restart SQL Server. Check for additional errors in the event log that may indicate why the tempdb files could not be initialized.
2017-01-20 17:16:42.60 spid13s SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required.
21 янв 17, 22:29    [20130797]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление работы SQL Server 2008R2  [new]
invm
Member

Откуда: Москва
Сообщений: 9723
macoi2
Дело в том что предыдущим админом был установлен RamDisk и из оперативной памяти был нарезан диск на 8Гб для хранения на нем папки TEMP и файлов журналов 2 основных баз.
Да уж. Слов нет...
А ведь он наверняка хотел "как лучше".

1. Проверьте, что ваш пресловутый RamDisk поднялся и диск E: существует.
2. Создайте на нем папку temp и пробуйте стартовать сиквел.
3. Либо научитесь конфигурировать RamDisk так, чтобы при старте там создавались необходимые папки, либо перенесите файлы БД и журнала tempdb в корень, либо избавьтесь от этого RamDisk вовсе.
4. Т.к. файлы журналов транзакций основных баз потеряны безвозвратно, вас ожидает отдельная эпопея по восстановлению этих БД. Как подключать БД без файлов журнала описано в документации, да и на форуме это многократно обсуждалось. Если не повезет - будете восстанавливаться из резервной копии.
21 янв 17, 23:16    [20130913]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление работы SQL Server 2008R2  [new]
macoi2
Member

Откуда:
Сообщений: 5
Конечно он хотел этим только сделать лучше, уменьшить крики бухгалтерии что "все тормозит".
Только, как говориться, кто сует в продакшн не обкатанные костыли?
Контора тоже молодец (полугосударственная), они экономили 2 или 3 года на покупке SQL, живя на Valuation 180 дней с последующей установкой всего. "Бабушке пенсии не хватает, а мне хватает", вот что у меня напрашивается глядя на такую сомнительную экономию. Бензин вроде начальники не сливают чтобы заправлять свои машины.
Я настроил в последний раз (в крайний "пробный" период) автоматическое обслуживание и резервное копирование баз, но оно остановилось вместе с окончанием очередного пробного периода. Даже доводилось свою работу проверять на деле. После окончания пробного периода оставались только ручные выгрузки и служебки что нужно купить лицензии.
Но если нет автоматического резервного копирования, значит Вы лишены актуальной резервной копии. Что я и получил сейчас на второй базе.

invm
macoi2
Дело в том что предыдущим админом был установлен RamDisk и из оперативной памяти был нарезан диск на 8Гб для хранения на нем папки TEMP и файлов журналов 2 основных баз.
Да уж. Слов нет...
А ведь он наверняка хотел "как лучше".

1. Проверьте, что ваш пресловутый RamDisk поднялся и диск E: существует.
2. Создайте на нем папку temp и пробуйте стартовать сиквел.
3. Либо научитесь конфигурировать RamDisk так, чтобы при старте там создавались необходимые папки, либо перенесите файлы БД и журнала tempdb в корень, либо избавьтесь от этого RamDisk вовсе.
4. Т.к. файлы журналов транзакций основных баз потеряны безвозвратно, вас ожидает отдельная эпопея по восстановлению этих БД. Как подключать БД без файлов журнала описано в документации, да и на форуме это многократно обсуждалось. Если не повезет - будете восстанавливаться из резервной копии.


Большое спасибо за обстоятельное описание!
Да, диск поднялся и существует. Проверил возможность создания, перезаписи и удаления файлов. Работает.
Я думал создать папку temp, но не был уверен что такая простая операция как создать целевую папку может ему помочь. Но все равно попробую.
Уже думаю что я бы перенес от беды по дальше на SSD диск (он хоть и не серверный, но Samsung Pro, базы маленькие 7Гб и 3Гб, быстро его не должны убить).
Статью о присоединении .mdf без .ldf уже ранее открыл, держу на готове. Только тем на форуме пока не видел.
Большое спасибо!
21 янв 17, 23:46    [20130979]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление работы SQL Server 2008R2  [new]
f000
Member

Откуда: 61
Сообщений: 55
тем по прикручиванию mdf без ldf куча:
https://www.sql.ru/faq/faq_topic.aspx?fid=123
https://www.sql.ru/forum/1183310-1/kak-vosstanovit-bazu-tolko-pri-pomoshhi-mdf-fayla-sql-2008-r2
http://www.sqlskills.com/blogs/paul/checkdb-from-every-angle-emergency-mode-repair-the-very-very-last-resort/

а ваш RamDisk случайно не был настроен на сохранение своего содержимого в образ ISO на винт перед перезагрузкой?
21 янв 17, 23:53    [20130998]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление работы SQL Server 2008R2  [new]
macoi2
Member

Откуда:
Сообщений: 5
f000,
Спасибо за ссылки, завтра 2 и 3 изучу, а первая уже живет с пятницы открытой.

Не знал что Рамдиск должен или может обладать подобной возможностью, посмотрю обязательно.
Но все это только завтра, сегодня супруга спать гонит, не дает поработать.
22 янв 17, 00:19    [20131036]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление работы SQL Server 2008R2  [new]
f000
Member

Откуда: 61
Сообщений: 55
macoi2
f000,
Не знал что Рамдиск должен или может обладать подобной возможностью, посмотрю обязательно.

ну а как иначе содержимое диска переживало перезагрузку?
с tempdb понятно, а вот с ldf нет, или сервер после установки ramdisk`a не перезагружали? О_о
22 янв 17, 00:31    [20131056]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление работы SQL Server 2008R2  [new]
macoi2
Member

Откуда:
Сообщений: 5
invm,
Большое спасибо за указание помочь SQL создать папку temp, создал и сервис прогрузился.

f000,
Программа называется WinRam Tech. Она не была настроена на сохранение образа перед завершением работы, хотя стояла галка загружаться из образа при старте. Оригинальное поведение.

Теперь мне осталось поучиться подключать mdf без ldf, а бухгалтерии загрузить их выгрузки и дать им работать.

Большое спасибо за помощь!
22 янв 17, 20:01    [20132409]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить