Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Ребят, профи, подскажите пожалуйста.

Сервер выключился экстренно из-за перебоев в электричестве. После включения у одной из БД появилась подпись Suspect. После этого, мы выполнили скрипт: ALTER DATABASE Имя_БД SET EMERGENCY. БД стала работать в режиме Emergency.

Попытка выполнить:

ALTER DATABASE Имя_БД SINGLE_USER - не прошла: работа зависает на 2 и более часа. Отключаем выполнение.

DBCC CHECKDB ('Имя_БД', REPAIR_ALLOW_DATA_LOSS) и
DBCC CHECKDB('Имя_БД', REPAIR_REBUILD) - не прошло: требуется SINGLE MODE.

Дальше нашли, что можно попытаться Detach'ить БД и снова ее Attach'ить. Detach выполнился, а вот обратно Attach не получается.

ВЫХОДИТ ОШИБКА:
TITLE: Microsoft SQL Server Management Studio
An error occurred when attaching the database(s). Click the hyperlink in the Message column for details.

ССЫЛКА НА ОШИБКУ С ОПИСАНИЕМ:
TITLE: Microsoft SQL Server Management Studio
Attach database failed for Server 'Имя_Сервера'. (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft SQL Server&ProdVer=9.00.4035.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Attach database Server&LinkId=20476
------------------------------
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Could not redo log record (186306:22545:80), for transaction ID (0:170227273), on page (1:5383098), database 'Имя_БД' (database ID 8). Page: LSN = (186306:15638:4), type = 2. Log: OpCode = 2, context 3, PrevPageLSN: (186306:16165:6). Restore from a backup of the database, or repair the database.
During redoing of a logged operation in database 'Имя_БД', an error occurred at log record ID (186306:22545:80). Typically, the specific failure is previously logged as an error in the Windows Event Log service. Restore the database from a full backup, or repair the database.
Could not open new database 'Имя_БД'. CREATE DATABASE is aborted. (Microsoft SQL Server, Error: 3456)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft SQL Server&EvtSrc=MSSQLServer&EvtID=3456&LinkId=20476

Что можно попытаться сделать? Буду рад вашим предложениям.
3 июн 13, 15:29    [14384390]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Glory
Member

Откуда:
Сообщений: 104760
nnmserg11
DBCC CHECKDB ('Имя_БД', REPAIR_ALLOW_DATA_LOSS) и
DBCC CHECKDB('Имя_БД', REPAIR_REBUILD) - не прошло: требуется SINGLE MODE.

Надо было сначала просто DBCC CHECKDB ('Имя_БД')

nnmserg11
Что можно попытаться сделать? Буду рад вашим предложениям.

Сервер уже сказал, что делать - "Restore the database from a full backup"
3 июн 13, 15:33    [14384428]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Glory
nnmserg11
DBCC CHECKDB ('Имя_БД', REPAIR_ALLOW_DATA_LOSS) и
DBCC CHECKDB('Имя_БД', REPAIR_REBUILD) - не прошло: требуется SINGLE MODE.

Надо было сначала просто DBCC CHECKDB ('Имя_БД')

Не сработало(( Чек не проходит без сингл мода, а сингл мод не запускается.

nnmserg11
Что можно попытаться сделать? Буду рад вашим предложениям.

Сервер уже сказал, что делать - "Restore the database from a full backup"


БД резервная месяц давности. Не вариант((
3 июн 13, 15:39    [14384484]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Glory
Member

Откуда:
Сообщений: 104760
nnmserg11
БД резервная месяц давности. Не вариант((

Как будто у вас есть вариант.
Попробуйте - How to: Back Up the Transaction Log When the Database Is Damaged (Transact-SQL)
Может и повезет.
3 июн 13, 15:41    [14384501]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
а) перезапустите sql сервер. Возможно просто сервер с базой "поднялся" позже и его sql server не увидел
б) вот инструкция:
ALTER DATABASE document SET EMERGENCY;
GO
--EMERGENCY mode marks the database as READ_ONLY, disabled logging, and access is limited to sysadmins. Marking the database in this mode is a first step for resolving log corruption.

ALTER DATABASE document set single_user
GO
DBCC CHECKDB (document, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;
GO
ALTER DATABASE document set multi_user
GO
3 июн 13, 15:44    [14384530]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
nnmserg11
Дальше нашли, что можно попытаться Detach'ить БД и снова ее Attach'ить. Detach выполнился, а вот обратно Attach не получается.



Молодцы, легких путей не ищете!!! А почему бы ее вовсе не удалить и восстановить?


Никогда не делайте Detach в подобных ситуациях!
3 июн 13, 15:48    [14384552]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Ребят,
Я уже Detach'ил БД. Ее уже нет. Обратно Attach она не хочет((

Сервер перезапускал, SQL службы также перезапускал.
3 июн 13, 15:51    [14384571]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
nnmserg11,

Скопируйте отсоединенные файлы в сторонку.
попробуйте создать базу с таким же именем и фаилами.
Остановите сервер и подмените файлы теми которые вы отсоединили когда база была живая
запустуите сервер.
дальше пробуйте DBCC CHECKDB
3 июн 13, 15:51    [14384576]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Spartakich,

чек подробнее опишите, или как указал Александр52? или ..
3 июн 13, 15:57    [14384619]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
nnmserg11,

У вас база уже отсоеденена.

1)Скопируйте отсоединенные файлы в сторонку (например datafile.mdf, logfile.ldf)
2) попробуйте создать базу с таким же именем и фаилами и путями к файлам .
3) Остановите MSSQL сервис и подмените файлы (*.mdf , *.ldf) теми которые вы отсоединили когда база была живая (из пункта 1)
4) запустуите MSSQL сервис .
5) дальше пробуйте EMERGENCY,SINGLE_USER, DBCC CHECKDB, и тд.
3 июн 13, 16:12    [14384755]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
я точно не помню, по-моему это делается так:
стопаем sql
подцепляете файл базы данных .mdf, создаете пустой с таким же именем .ldf, его аттачите. По сути делвете подмену.
стартуем sql
3 июн 13, 16:13    [14384759]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Я ребят так и делаю)) Сейчас уже увижу-таки резалт.. ))
3 июн 13, 16:15    [14384779]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
nnmserg11, надеюсь у вас всё получится...
Но вопрос такой: как же так, бэкап месячной давности не вариант, но бэкапирование всё равно не настроено?:( Хотя б раз в сутки делайте фулл-то. Ну или раз в неделю фулл, раз в сутки разностный, 2-3 раза в сутки транзакционный... хотя хз...
3 июн 13, 16:18    [14384802]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Хм, ребят ..
Создал новую БД со старым названием. Оключил SQL сервер. Подменил файлы. Запустил SQL сервер.
БД не доступна:

TITLE: Microsoft SQL Server Management Studio
------------------------------
Cannot show requested dialog.
------------------------------
ADDITIONAL INFORMATION:
Cannot show requested dialog. (SqlMgmt)
------------------------------
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Database 'Имя_БД' is being recovered. Waiting until recovery is finished. (Microsoft SQL Server, Error: 922)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft SQL Server&ProdVer=09.00.4035&EvtSrc=MSSQLServer&EvtID=922&LinkId=20476

Проверку запускаю, а выдается следующее:
Database 'Имя_БД' is being recovered. Waiting until recovery is finished. А где смотреть, что он делает .. ? .. нигде никаких окон не выдается.
3 июн 13, 16:30    [14384875]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Сергей Викт.
nnmserg11, надеюсь у вас всё получится...
Но вопрос такой: как же так, бэкап месячной давности не вариант, но бэкапирование всё равно не настроено?:( Хотя б раз в сутки делайте фулл-то. Ну или раз в неделю фулл, раз в сутки разностный, 2-3 раза в сутки транзакционный... хотя хз...


Все было настроено(( Коллега ковырялся и отключил.
3 июн 13, 16:31    [14384885]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
komrad
Member

Откуда:
Сообщений: 5252
nnmserg11
Проверку запускаю, а выдается следующее:
Database 'Имя_БД' is being recovered. Waiting until recovery is finished. А где смотреть, что он делает .. ? .. нигде никаких окон не выдается.


что в логе сиквела?
3 июн 13, 16:33    [14384901]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
komrad,

Только то, что написал ..
3 июн 13, 16:34    [14384911]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
Вы восстановили вашу БД по приведенной схеме и сейчас она у вас в режиме recovery, я так понимаю?
Еще бы скриншотик, а то стреляю вслепую)
3 июн 13, 16:41    [14384960]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
nnmserg11
Подменил файлы
Надо не файлы, а только файл данных. Подмененный файл журнала вообще удалить.
3 июн 13, 16:48    [14385006]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Александр52
Вы восстановили вашу БД по приведенной схеме и сейчас она у вас в режиме recovery, я так понимаю?
Еще бы скриншотик, а то стреляю вслепую)


Картинка с другого сайта.
3 июн 13, 16:50    [14385022]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
если База большая - то нужно немного подождать, т.к. сервер возвращает её в рабочее состояние ( о чем говорит статус)
а вообще, если я не ошибаюсь, не должно быть подобного статуса.
3 июн 13, 17:06    [14385131]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
nnmserg11,я к тому что попробуйте еще раз и используется ваш рабочий файл .mdf + новый .ldf ( с тем же именем)
3 июн 13, 17:08    [14385144]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Александр52,

Ок, попробую. Сейчас пока все копируется .. я успею поесть съездить домой((
Поэтому .. вечером попозже не расходитесь, коллеги ..))
3 июн 13, 17:19    [14385250]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Ребят, как я вас понял (и какие описаны советы в сети), в SQL подменил вместо новой мою БД (*.mdf и *.ldf).
Теперь у БД *.mdf режим InRecovery.

И что теперь можно и нужно делать?
3 июн 13, 20:52    [14386171]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Сделал Refresh .. теперь у БД режим Suspect .. с чего все и начиналось //
3 июн 13, 20:58    [14386187]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить