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

Откуда: Москва
Сообщений: 9845
nnmserg11
И что теперь можно и нужно делать?
Не читатель?
14385006
3 июн 13, 21:13    [14386227]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nezhadnye_my
Guest
nnmserg11,

база-то большая?
а то перевести в Emergency и попытаться выгрузить данные, например с помощью bcp.
3 июн 13, 22:24    [14386338]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

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

БД весом в 45 Гб..
4 июн 13, 06:58    [14386927]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

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

Не сработало.
4 июн 13, 06:58    [14386928]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
nnmserg11,

Прямо так и написало: "Не сработало"?
И какова была последовательность действий?
4 июн 13, 09:07    [14387117]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Spartakich
Member

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

ALTER DATABASE [YOUR_DB] SET EMERGENCY
GO
USE [YOUR_DB]
GO
DBCC CHECKDB


каков результат то ?
4 июн 13, 10:07    [14387459]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Выполняю:
ALTER DATABASE Имя_БД SET EMERGENCY

ошибка:
Msg 233, Level 20, State 0, Line 0
A transport-level error has occurred when sending the request to the server. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)

--
Выполняю:
DBCC CHECKDB ('Имя_БД') WITH NO_INFOMSGS, ALL_ERRORMSGS

ошибка:
Msg 945, Level 14, State 2, Line 1
Database 'Имя_БД' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.

--
Выполняю:
EXEC sp_resetstatus 'Имя_БД'

все норм:
The suspect flag on the database "Имя_БД" is already reset.

--
Выполняю:
ALTER DATABASE Имя_БД SET EMERGENCY

ошибка:
Msg 5061, Level 16, State 1, Line 1
ALTER DATABASE failed because a lock could not be placed on database 'Имя_БД'. Try again later.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.

--
Выполняю:
DBCC checkdb('Electroizdeliya_MSCRM')
ALTER DATABASE Electroizdeliya_MSCRM SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ('Electroizdeliya_MSCRM', REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE Electroizdeliya_MSCRM SET MULTI_USER

ошибки повторяются:
Msg 945, Level 14, State 2, Line 1
Database 'Имя_БД' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.
4 июн 13, 10:43    [14387711]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
nnmserg11,

Вы это получили после создания одноименной БД, а затем подмены файла данных и удаления журнала?

ЗЫ: Специально проверил работоспособность трюка с удалением журнала на Microsoft SQL Server 2005 - 9.00.5000.00 -- работает должным образом.
4 июн 13, 11:28    [14387903]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
.mdf
Guest
invm,

а если у него .mdf битый, а не журнал?
4 июн 13, 11:34    [14387943]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

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

Скорее всего так и есть. Перед выключением электроэнергии в БД писались записи .. не дописались, возникла ошибка.

А, ребят, вы под журналом-то что имеете ввиду .. ? .. файл *.ldf?
И ещё, создаю новую одноименную БД, откл. SQL службы, делаю подмену *.mdf и *.ldf.
Пытался *.mdf с пустышкой *.ldf - не получается.
Пытался *.mdf с *.ldf от новой созданной - не получается.
4 июн 13, 11:52    [14388060]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
.mdf
invm,

а если у него .mdf битый, а не журнал?
И? Вы хорошо себе представляете что требуется получить?


nnmserg11,

Еще раз, по пунктам:
1. Создать БД Имя_БД
2. Остановить сиквел.
3. Подменить файл Имя_БД.mdf оригинальным файлом проблемной БД, а не тем, с которым вы уже манипулировали. Файл Имя_БД.ldf удалить.
4. Запустить сиквел.
5. alter database Имя_БД set emergency
6. alter database Имя_БД set single_user
7. dbcc checkdb('Имя_БД', allow_repair_data_loss);
4 июн 13, 12:07    [14388121]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Spartakich
Member

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

5.5
USE Имя_БД
4 июн 13, 12:30    [14388253]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
.mdf
Guest
invm
.mdf
invm,

а если у него .mdf битый, а не журнал?
И? Вы хорошо себе представляете что требуется получить?



видимо не все понимаю, потому и спрашиваю
спотыкалово было на стадии redo.
как я понимаю, подменой файла .mdf мы добиваемся ситуации: наш .mdf но при этом пустой журнал .ldf,
чтобы не из чего было сделать recovery.
вот я и спрашиваю.
если не лог битый, а сами данные.
вот нечитаемый .mdf
разве пересоздание лога поможет?
или при битом было бы другое сообщение об ошибке?
4 июн 13, 12:34    [14388280]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
Spartakich,

Зачем?


.mdf,

Задача -- выполнить Emergency-mode repair. И если файл данных нечитаем, то это выяснится либо при подготовке к этой процедуре, либо найдет отражение в протоколе DBCC CHECKDB.

А что там на самом деле делал или делает ТС, пока что покрыто тайной.
4 июн 13, 12:47    [14388342]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
.mdf
Guest
invm, так по описанию с первой страницы топика, ТС это и пытался сделать до того, как детачнул...
но Вы правы, кто его знает, что там на самом деле делалось...
nnmserg11
Ребят, профи, подскажите пожалуйста.

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

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

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

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

Дальше нашли, что можно попытаться Detach'ить ...
4 июн 13, 12:59    [14388458]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Spartakich
Member

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

after

ALTER DATABASE [DMNAME] SET EMERGENCY

и
ALTER DATABASE [DMNAME] SET SINGLE_USER with ROLLBACK IMMEDIATE


любой другой коннект сможет занять базу.
поэтому просится
USE Имя_БД
4 июн 13, 13:08    [14388545]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Spartakich
Member

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


...WITH ROLLBACK IMMEDIATE
4 июн 13, 13:09    [14388556]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

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

Пробывал //
4 июн 13, 13:12    [14388589]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
Spartakich
любой другой коннект сможет занять базу
Не займет, ибо в случае физического отсутствия журнала БД: inaccessible.
4 июн 13, 13:14    [14388606]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

Откуда: Р.Ф.
Сообщений: 86
Мы тут с коллегой уже все инструкции перепробывали.
В итоге, вышла ошибка, смысл в которой - физическое повреждение БД.

Сейчас .. попытались снова ..
1. Создать БД Имя_БД
2. Остановить сиквел.
3. Подменить файл Имя_БД.mdf оригинальным файлом проблемной БД, а не тем, с которым вы уже манипулировали. Файл Имя_БД.ldf удалить.
4. Запустить сиквел.
5. alter database Имя_БД set emergency
6. alter database Имя_БД set single_user
7. dbcc checkdb('Имя_БД', allow_repair_data_loss)

вышло:
Msg 922, Level 14, State 1, Line 2
Database 'Имя_БД' is being recovered. Waiting until recovery is finished.

И .. где теперь смотреть, что происходит с БД - в логах .. ? .. т.к. никаких окон о процессах нет и в диспетчере задач ничего не грузит процессор.
4 июн 13, 13:17    [14388628]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Glory
Member

Откуда:
Сообщений: 104751
nnmserg11
что происходит с БД - в логах .. ? .

Разумеется в логах сервера

ЗЫ
Если бы восстановили бэкап, то сейчас бы уже добавляли недостающие данные
4 июн 13, 13:19    [14388650]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

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

Мда .. такие вот мы .. программисты((

Ну уже понятно мне, что все оказалось печально. Сейчас буду 2-мес. давности бэкап разворачивать, а из этой БД выберу оставшиеся данные за последнее время и вставлю в старую базу.

Наверно стоит сказать всем спасибо!)) .. Возможно, если бы БД не была так повреждена все указанными способами дало результат.
Тему наверно можно закрыть.
4 июн 13, 13:36    [14388773]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
nnmserg11,

select databasepropertyex('Имя_БД', 'status');
select status_desc from sys.databases where name = 'Имя_БД';
?
4 июн 13, 13:37    [14388779]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
Glory
Member

Откуда:
Сообщений: 104751
nnmserg11
Возможно, если бы БД не была так повреждена все указанными способами дало результат.

У вас 45Гб данных. Наверняка _логически связанных_ данных.
И вот при при поврежденном логе и возможно поврежденных данных вы извлекаете из этих 45Гб какую то _часть данных_. Неизвестно какую, неизвестно на какой момент времени.

Неужели вы думаете, что этот кусок данных со множеством "неизвестных" лучше, чем корректный бэкап, пусть и устаревший ?
4 июн 13, 13:42    [14388818]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2005 Suspect - Emergency  [new]
nnmserg11
Member

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

SQL 2005?
Msg 207, Level 16, State 1, Line 2
Invalid column name 'status_desc'.
4 июн 13, 13:44    [14388829]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить