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

Откуда:
Сообщений: 658
привет
большая база 1.8 терабайта
каждый день создавалась новая таблица для данных
сегодня два раза компьютер зависал - видимо из за перегрева - умер кондиционер
в момент зависания шли данные в ежедневную таблицу
после перезапуска поднялись все базы кроме этой
база в состоянии suspect
подскажите последовательность дейсвтий
готов потерять сегодняшние данные или некоторый кусок.
29 авг 13, 22:07    [14773221]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
сервер 11.0.2100.60
29 авг 13, 22:11    [14773232]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Для начала нужны записи из еррор лога, предшествующие записи о состоянии suspect бд.
29 авг 13, 22:11    [14773234]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
pkarklin,

вот что касается этой базы

08-29 19:47:21.78 spid27s Recovery of database 'Order_Log' (15) is 0% complete (approximately 281 seconds remain). Phase 1 of 3. This is an informational message only. No user action is required.
2013-0

2013-08-29 19:47:23.62 spid27s SQL Server detected a logical consistency-based I/O error: (bad checksum). It occurred during a read of page (0:-1) in database ID 15 at offset 0x00002f170c7200 in file 'M:\Order_Log_log.ldf'. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

2013-08-29 19:47:24.40 spid27s An error occurred during recovery, preventing the database 'Order_Log' (15:0) from restarting. Diagnose the recovery errors and fix them, or restore from a known good backup. If errors are not corrected or expected, contact Technical Support.
29 авг 13, 22:24    [14773264]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander_fx,

Какие бэкапы есть?
29 авг 13, 22:29    [14773280]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
pkarklin,

никаких - вытаскивал на другой сервер нужные куски - но целиком базу не бекапил
база для себя лично а размер такой что создание бекапа убивает рабочий день
понимаю что сам виноват - потому и готов потерять часть данных
29 авг 13, 22:31    [14773285]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander_fx,

Всё остальное Вы выполняете на свой страх и риск...

ALTER DATABASE Order_Log SET EMERGENCY
29 авг 13, 22:36    [14773301]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Затем

DBCC CHECKDB(Order_Log, REPAIR_ALLOW_DATA_LOSS)
29 авг 13, 22:40    [14773317]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
pkarklin,

база перешла в emergency
вижу таблици и данные отдает

что дальше - я так думаю ощибки возникли с сегодняшней базой - может ее удалить и пофиксить ошибки как то
и как вывести базу из emergency
29 авг 13, 22:41    [14773322]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
invm
Member

Откуда: Москва
Сообщений: 9785
Alexander_fx,
Перед
DBCC CHECKDB(Order_Log, REPAIR_ALLOW_DATA_LOSS)
Нужно
alter database Order_Log set single_user;
Иначе кина не выйдет.

А еще лучше перевести в emergency и попытаться перелить куда-нибудь все, что читается. А потом уже играться с dbcc.
29 авг 13, 22:48    [14773355]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander_fx
база перешла в emergency
вижу таблици и данные отдает


Можно попытаться вытащить необходимые данные.

Alexander_fx
и как вывести базу из emergency


Попытаться это сделать можно второй приведенной инструкцией. Но учитывая это

Alexander_fx
а размер такой что создание бекапа убивает рабочий день


потребуется очень много времени.

Попытайтесь вытащить данные. Если не поможет - натравите вторую инструкцию.
29 авг 13, 22:49    [14773363]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander_fx
я так думаю ощибки возникли с сегодняшней базой - может ее удалить и пофиксить ошибки как то


Не расстраивайте нас, ладно?
29 авг 13, 22:52    [14773374]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
автор
in file 'M:\Order_Log_log.ldf'.


может лог пересоздать?
29 авг 13, 22:54    [14773379]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
pkarklin,

сделал
alter database Order_Log set single_user;
чтобы потом
DBCC CHECKDB(Order_Log, REPAIR_ALLOW_DATA_LOSS)

но уже 5 минут выполняется alter database Order_Log set single_user;
может база из по emergency не хочет переходить в single user?
по идее в single user быстрый переход
29 авг 13, 23:01    [14773402]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander_fx,

И контекст запроса была бд Order_Log? Что с процессами на сервере? На чем висите?
29 авг 13, 23:05    [14773416]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Spartakich
Member

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

use Order_Log
GO
alter database Order_Log set single_user WITH ROLLBACK IMMEDIATE
GO
29 авг 13, 23:07    [14773420]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
pkarklin
Alexander_fx,

И контекст запроса была бд Order_Log? Что с процессами на сервере? На чем висите?


use Order_Log не написал - скрипт создавал по правому клику на базе order_log - думал контекст автоматом этой базы будет

а как процессы посмотреть чтобы понять на чем вишу
и можно ли остановить переход в single mode = или ждать до победного
29 авг 13, 23:09    [14773427]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
Spartakich
Alexander_fx,

use Order_Log
GO
alter database Order_Log set single_user WITH ROLLBACK IMMEDIATE
GO



помоголо

выполняю
DBCC CHECKDB(Order_Log, REPAIR_ALLOW_DATA_LOSS)

думаю это надолго

всем спасибо - надеюсь на лучшее
после DBCC CHECKDB база сама перейдет в нормальное состояне или надо дать команду ручками?
29 авг 13, 23:13    [14773440]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
и можно будет узнать что я потерял в процессе
DBCC CHECKDB(Order_Log, REPAIR_ALLOW_DATA_LOSS)
?
29 авг 13, 23:14    [14773442]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander_fx,

Чуть выше приведена инструкция "моментального" перевода в Single_User.
29 авг 13, 23:14    [14773443]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Spartakich
Member

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

use Order_Log
go
alter database Order_Log set ONLINE
go
alter database Order_Log set MULTI_user
go
29 авг 13, 23:14    [14773447]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander_fx
после DBCC CHECKDB база сама перейдет в нормальное состояне или надо дать команду ручками?


Там будет написано.
29 авг 13, 23:15    [14773449]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
все большое спасибо
29 авг 13, 23:16    [14773452]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
еще раз привет
DBCC CHECKDB(Order_Log, REPAIR_ALLOW_DATA_LOSS)
выполняется уже 13 часов
база 1.7 гига
режим simple
подскажите - сколько примерно ждать - а то каждые 5 минут чекаю - уже устал
30 авг 13, 12:00    [14775282]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Alexander_fx
подскажите - сколько примерно ждать

Смотрите sys.dm_exec_requests, поле percent_complete.
30 авг 13, 12:07    [14775352]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Alexander_fx
база 1.7 гига


В стартовом посте были Терабайты. Или это уже другая бд?
30 авг 13, 12:38    [14775611]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
pkarklin
Alexander_fx
база 1.7 гига


В стартовом посте были Терабайты. Или это уже другая бд?


терабайты - опечатался в последнем посте

выполнил SELECT * FROM sys.dm_exec_requests

мой запрс 4 часа назад был на 78 процентах
а сейчас тоже самое 78 и запрос в статусе suspended
так же не наблюдаю дисковой активности сервера
мне кажется что активность прекратилась после выполнения dm_exec_requests

это норм или надо что то делать?
30 авг 13, 15:46    [14776839]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Alexander_fx
запрос в статусе suspended
так же не наблюдаю дисковой активности сервера

А использование CPU по этому процессу наблюдается?
30 авг 13, 15:52    [14776883]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
Гость333
Alexander_fx
запрос в статусе suspended
так же не наблюдаю дисковой активности сервера

А использование CPU по этому процессу наблюдается?


за полчаса cpu time не изменилось (данные из dm_exec_requests)
30 авг 13, 16:07    [14776976]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
сделал 2 запроса

SELECT session_id ,status ,blocking_session_id
,wait_type ,wait_time ,wait_resource
,transaction_id
FROM sys.dm_exec_requests
WHERE status = N'suspended';
GO

SELECT * FROM sys.dm_tran_locks
WHERE request_owner_type = N'TRANSACTION'
AND request_owner_id = 110024;
GO

выдало 688 строк с блокировками
не знаю плохо ли это
30 авг 13, 16:13    [14777002]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Alexander_fx,

И кто кого блокирует? Есть какой-то процесс, который заблокировал DBCC CHECKDB?
30 авг 13, 16:16    [14777015]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
Гость333,

а как определить
30 авг 13, 19:46    [14777864]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
вот этот запрос возвращает 688 строк
SELECT * FROM sys.dm_tran_locks
WHERE request_owner_type = N'TRANSACTION'
AND request_owner_id = 110024;
GO

во всех поле request_owner_id одно и тоже - 110024 - это процесс который выполняет DBCC CHECKDB
request_session_id тоже везде одинаковый

хз как понять что блокирует нужный мне процесс 110024
30 авг 13, 20:49    [14778038]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Col
Member

Откуда: Торонто
Сообщений: 183
Alexander_fx,
USE Master
GO
SELECT session_id, wait_duration_ms, wait_type, blocking_session_id 
FROM sys.dm_os_waiting_tasks 
WHERE blocking_session_id <> 0
GO
30 авг 13, 22:15    [14778367]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
вот что выдал
и что с этим делать?

64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
30 авг 13, 22:21    [14778394]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31912
Alexander_fx
а как определить
В sp_who2 видно, там написано, кто кого блокирует.
30 авг 13, 22:25    [14778414]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31912
Alexander_fx
вот что выдал
и что с этим делать?

64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
BOL
CXPACKET
Имеет место при попытке синхронизации итератора обмена обработчика запросов. Можно попытаться снизить степень параллелизма, если конфликты такого типа становятся проблемой.
30 авг 13, 22:26    [14778420]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
ok
тогда такой вопрос
напомню - база в emergency - после suspect 1.7 терра
в single user mode

сейчас зависло выполнение DBCC CHECKDB(Order_Log, REPAIR_ALLOW_DATA_LOSS)
на 78 процентах
запрос висит в suspect уже 10 часов

можно ли его остановить или ждать до упора?
30 авг 13, 22:27    [14778424]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31912
Alexander_fx
можно ли его остановить или ждать до упора?
Лучше ждать
30 авг 13, 22:28    [14778428]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
alexeyvg
Alexander_fx
вот что выдал
и что с этим делать?

64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
64 43831592 CXPACKET 64
BOL
CXPACKET
Имеет место при попытке синхронизации итератора обмена обработчика запросов. Можно попытаться снизить степень параллелизма, если конфликты такого типа становятся проблемой.


а как снищить и можно ли снизить не прерывая выполнение текущего запроса
думаю нет
30 авг 13, 22:28    [14778431]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Alexander_fx
Member

Откуда:
Сообщений: 658
кстати

вот этот запрос выдает
use master

SELECT session_id ,status ,blocking_session_id
,wait_type ,wait_time ,wait_resource
,transaction_id
FROM sys.dm_exec_requests
WHERE status = N'suspended';
GO


55 suspended 0 PAGEIOLATCH_SH 72046 2:1:9 1292169
64 suspended 0 CXPACKET 45410209 110024

я поначалу думал что первый суспект это сам селект что выдал результат
а теперь подумал а не он ли держит мой 110024

пробывал выполнить sp_who2 так он тоже не выполняется - сразу в супект и вылетает по таймауту

может как то кильнуть 1292169 - не помешает ли он 110024
30 авг 13, 22:49    [14778545]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31912
Alexander_fx
пробывал выполнить sp_who2 так он тоже не выполняется - сразу в супект и вылетает по таймауту
Да, это плохо...

Попробуйте так:
SELECT * FROM [master].[sys].[sysprocesses] as s WITH (READUNCOMMITTED)
31 авг 13, 01:08    [14779032]     Ответить | Цитировать Сообщить модератору
 Re: помогите вывести базу из suspect  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Alexander_fx
SELECT session_id ,status ,blocking_session_id
,wait_type ,wait_time ,wait_resource
,transaction_id
FROM sys.dm_exec_requests
WHERE status = N'suspended';

Хм... что вы намеревались определить этим запросом?

Alexander_fx
я поначалу думал что первый суспект это сам селект что выдал результат

А что там думать? Это должно быть точно известно, т.к. session_id указывается в окне запроса SSMS.

Alexander_fx
может как то кильнуть 1292169 - не помешает ли он 110024

См. команду KILL.
1 сен 13, 00:03    [14780543]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Microsoft SQL Server Ответить