Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Версия сервера Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) Oct 19 2012 13:38:57 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) После перезагрузки сервера база ушла в режим (Ожидание восстановления). Пробовал использовать часто встречающийся в поиске скрипт: ALTER DATABASE scout_storage SET EMERGENCY; GO ALTER DATABASE scout_storage SET SINGLE_USER; GO DBCC CHECKDB (scout_storage) GO ALTER DATABASE scout_storage SET MULTI_USER; GO ALTER DATABASE scout_storage SET ONLINE; В сообщении появляются ошибки: Сообщение 5120, уровень 16, состояние 101, строка 1 Не удалось открыть физический файл "C:\Program Files\Microsoft SQL Server\MSSQL11.KGKRSQL\MSSQL\DATA\scout_storage.mdf". Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.)". Сообщение 5120, уровень 16, состояние 101, строка 2 Не удалось открыть физический файл "C:\Program Files\Microsoft SQL Server\MSSQL11.KGKRSQL\MSSQL\DATA\scout_storage.mdf". Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.)". Сообщение 945, уровень 14, состояние 2, строка 2 Не удалось открыть базу данных "scout_storage" вследствие недоступности файлов, нехватки памяти или места на диске. Подробности см. в журнале ошибок SQL Server. Сообщение 5120, уровень 16, состояние 101, строка 2 Не удалось открыть физический файл "C:\Program Files\Microsoft SQL Server\MSSQL11.KGKRSQL\MSSQL\DATA\scout_storage.mdf". Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.)". Сообщение 5120, уровень 16, состояние 101, строка 2 Не удалось открыть физический файл "C:\Program Files\Microsoft SQL Server\MSSQL11.KGKRSQL\MSSQL\DATA\scout_storage.mdf". Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.)". Сообщение 5120, уровень 16, состояние 101, строка 2 Не удалось открыть физический файл "C:\Program Files\Microsoft SQL Server\MSSQL11.KGKRSQL\MSSQL\DATA\scout_storage_log.ldf". Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.)". Сообщение 5181, уровень 16, состояние 5, строка 2 Невозможно повторно перезапустить базу данных "scout_storage". Возвращение к предыдущему состоянию. Сообщение 5069, уровень 16, состояние 1, строка 2 Не удалось выполнить инструкцию ALTER DATABASE. Попробовал метод из статьи http://blog.vb76.com/vosstanovlenie-bazy-ms-sql-posle-udaleniya-fajla-logov-_log-ldf/ Но к сожалению это тоже не дало положительного эффекта. Не могу разобраться как вычислить процесс который мешает выполнить восстановление базы. Судя по всему проблема возникла из-за выросшего файла логов (вот https://habrahabr.ru/sandbox/40161/ что то похожее описывают) - scout_storage_log.ldf вырос до 4,01 Гб. Метод из песочницы хабра так же не работает. Ошибка доступа к файлу scout_storage.mdf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 22:11 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
neorus , process explorer --> ctrl+f ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 22:24 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
что написано в еррорлоге? переводится ли база в оффлайн? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 10:28 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
В оффлайн режим базу перевел. Правда теперь обратно не возращается - выдает ошибку Приложил лог файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 11:31 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
neorusВ оффлайн режим базу перевел. Правда теперь обратно не возращается - выдает ошибку Приложил лог файл Покажите Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 11:41 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
пока база в оффлайне, попробуйте файлы скопировать в другое место. потом создайте другую базу через create database for attach теперь можно старую дропнуть, а новую переименовать в старую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 11:47 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
в еррорлоге фигурирует еще некая база scout_storage_bad. уж не на тех же ли она файлах основана? а то поди она-то и держит эти файлы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 11:52 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Вы имеете в виду выполнить такой запрос: USE master; GO CREATE DATABASE scout_storage+ ON PRIMARY (NAME = scout_storage+, (NAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.KGKRSQL\MSSQL\DATAscout_storage.mdf); GO ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 12:09 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Yasha123в еррорлоге фигурирует еще некая база scout_storage_bad. уж не на тех же ли она файлах основана? а то поди она-то и держит эти файлы база scout_storage_bad моя попытка решить проблему в прошлый раз. Так же сыпались ошибки про занятость в итоге переименовал эту базу. создал новую с таким же именем и развернул бекап свежий. Беда в том что в тот раз я сменил пароль sa, а вот сделать это в скрипте бекапа забыл. Соответственно 2 недели я жил без бекапов, поэтому и пытаюсь воскресить текущую базу scout_storage. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 14:21 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
neorus, еще раз, приведите результаты скрипта Код: sql 1. Может вы ту базу с теми же именами файлов восстановили, и сейчас пытаетесь второй раз те же файлы использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 15:15 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Minamoto, После очередной перезагрузки и возвращении файлов на место - база перешла в статус подозрительная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 15:24 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Minamoto, Возможно вы правы, переименование базы в scout_storage_bad проводил через оснастку Ms SQL server management studio. Файлы базы переименовались в scout_storage_bad.mdf и scout_storage_bad_log.ldf Во всяком случае эти файлы есть в каталоге DATA. Кстати метод восстановления который до этого ни в какую не работал на scout_storage_bad сейчас отработал нормально и база в нормальном статусе, увы там нет данных за 2 недели и хотелось бы починить текущую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 15:30 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
neorus, хм, как раз нужных данных вы и не показали - на скриншоте полный путь обрезан. Скопируйте, вставьте просто таблицей сюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 15:32 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Minamoto, Не пойму как выдернуть в виде файла результат и сюда приложить Написал вам в почту указанную в профиле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 16:01 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
ну так еще раз вопрос читаем: Yasha123в еррорлоге фигурирует еще некая база scout_storage_bad . уж не на тех же ли она файлах основана? а то поди она-то и держит эти файлы ваша база scout_storage_bad физически и есть те самые mdf, ldf от исходной базы. вы 2 базы умудрились присобачить к одним и тем же физическим файлам. разумеется, как только база scout_storage_bad поднимается, сам сервер и захапывает доступ к этим файлам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 16:42 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Yasha123, а откуда появилась связь? Я же переименовал базу. изменилось имя файла базы и файла логов. Потом создал новую и развернул в нее бекап из bak файла (тип полная резервная копия). Откуда связь взялась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 17:20 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
neorusYasha123, а откуда появилась связь? Я же переименовал базу. изменилось имя файла базы и файла логов. Потом создал новую и развернул в нее бекап из bak файла (тип полная резервная копия). Откуда связь взялась? наверное, когда бэкап разворачивали, не указали WITH MOVE. в результате развернулось по умолчанию, т.е. по тому пути, где и было. получилось, что уже и новая база смотрит на старые файлы. только такое могло произойти лишь в том случае, когда старая база в оффлайне была. иначе бы не получилось безнаказанно перезаписать ее файлы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 17:27 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Yasha123, Разобрался вроде бы в чем беда. Но даже если 2 базы смотрят на одни файлы. Но запись приложение вело только в базу scout_storage. Вторая база просто лежала в режиме ожидание восстановления. Могло это повлиять на свеже созданную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 17:36 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Yasha123neorusYasha123, а откуда появилась связь? Я же переименовал базу. изменилось имя файла базы и файла логов. Потом создал новую и развернул в нее бекап из bak файла (тип полная резервная копия). Откуда связь взялась? наверное, когда бэкап разворачивали, не указали WITH MOVE. Я честно попробовал. Нифига. Нужны какие то особые танцы с бубнами. Вот что получается, если попытаться в файлы offline-базы восстановиться: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ситуацию это, собственно, не меняет, мне просто любопытно, что конкретно нужно сделать, чтобы получить две базы, смотрящие на одни файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 17:41 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
neorusYasha123, Разобрался вроде бы в чем беда. Но даже если 2 базы смотрят на одни файлы. Но запись приложение вело только в базу scout_storage. Вторая база просто лежала в режиме ожидание восстановления. Могло это повлиять на свеже созданную? вы меня запутали. какая база лежала, а какая работала? допустим, лежала база scout_storage_bad, а в базу scout_storage все писалось. тогда проблема у вас началась, когда кто-то сервер перезагрузил, и вместо scout_storage в онлайн первой вышла scout_storage_bad. тогда сейчас отправьте в оффлайн scout_storage_bad, после этого scout_storage выйдет в онлайн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 17:42 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Вывел базу scout_storage_bad в offline Теперь статус scout_storage стал подозрительный. Каким скриптом ее теперь починить лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 17:44 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
MinamotoYasha123пропущено... наверное, когда бэкап разворачивали, не указали WITH MOVE. Я честно попробовал. Нифига. Нужны какие то особые танцы с бубнами. Вот что получается, если попытаться в файлы offline-базы восстановиться: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ситуацию это, собственно, не меняет, мне просто любопытно, что конкретно нужно сделать, чтобы получить две базы, смотрящие на одни файлы. ну я сейчас попробую. хотя я помню ситуацию, когда в порядке эксперимента мне довелось восстановить мастер одного сервера (2008) на другом (2012). оба сервера локальные, на одном ноуте жили. и вот копия мастера 2008 апгрэйдилась, сервер (2012) поднялся, но базы-то у него уже были не свои, а от 2008. и тут мне зачем-то понадобился 2008. так вот у него ни одна юзерская база в онлайн не вышла, и все базы вот эту самую ошибку писали, что уже файлы заняты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 17:47 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Yasha123Minamotoпропущено... Я честно попробовал. Нифига. Нужны какие то особые танцы с бубнами. Вот что получается, если попытаться в файлы offline-базы восстановиться: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ситуацию это, собственно, не меняет, мне просто любопытно, что конкретно нужно сделать, чтобы получить две базы, смотрящие на одни файлы. ну я сейчас попробую. хотя я помню ситуацию, когда в порядке эксперимента мне довелось восстановить мастер одного сервера (2008) на другом (2012). оба сервера локальные, на одном ноуте жили. и вот копия мастера 2008 апгрэйдилась, сервер (2012) поднялся, но базы-то у него уже были не свои, а от 2008. и тут мне зачем-то понадобился 2008. так вот у него ни одна юзерская база в онлайн не вышла, и все базы вот эту самую ошибку писали, что уже файлы заняты Получилось через attach. вот вижу теперь эту волшебную ошибку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. И база при этом перешла в Recovery pending. Если вторую базу вывести в offline, первая успешно выводится в online, что логично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 17:55 |
|
||
|
Проблема с восстановлением базы
|
|||
|---|---|---|---|
|
#18+
Minamoto, Ну вот собственно и убедился как руки чайника могут сотворить ситуацию, которую потом не могут повторить спецы. Еще раз опишу ситуацию с самого начала. 12.02 Приложение перестало работать. Когда запустил менеджер SQL. У базы scout_storage стоял статус подозрительный . Тех поддержка сопровождающая предложение посоветовала выполнить скрипт EXEC sp_resetstatus [scout_storage]; ALTER DATABASE [scout_storage] SET EMERGENCY DBCC checkdb([scout_storage]) ALTER DATABASE [scout_storage] SET SINGLE_USER WITH ROLLBACK IMMEDIATE DBCC CheckDB ([scout_storage], REPAIR_ALLOW_DATA_LOSS) ALTER DATABASE [scout_storage] SET MULTI_USER Но появлялась ошибка - файл занят. Как я полагаю надо было прежде чем запускать скрипт - вывести его в оффлайн режим. Я же только отключил приложение которое писало в эту базу. В итоге я решил переименовать базу в scout_storage-bad - это мне сделать удалось после очередной перезагрузки сервера. статус базы так и остался ждет восстановления. Затем я создал в ручную без скрипта новую базу scout_storage и развернул туда последний бекап из bak файла (режим копии полная). И все работало до перезагрузки спустя 2 недели. Не могу понять почему при переименовании сменилось имя базы в менеджере, файлы в папке тоже переименовались, а вот ссылки остались на прежние scout_storage. Видимо из-за того что переименовывал тоже руками через менеджер. Т.е. у меня теперь вот такая ситуация: Как можно вернуть базу в рабочее состояние? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 18:03 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39608537&tid=1690196]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 400ms |

| 0 / 0 |
