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

Откуда: Moscow, Russia
Сообщений: 45
Хаюшки, все!

Народ, прошу помощи в следующей ситуации.

Есть сервак SQL 2000 SP3. На нем живут транзакции. Назовем сервак "источником"
Было еще 2 сервака с тем же Сиквелом, но на другом железе. На них ночью переливается бэкап, и база восстанавливается из копии. Использовались серваки для отладки и для анализа/отчетов. Назовем серваки "копиями 1 и 2", причем "копия 2" мощнее по железу.

Некоторое время назад решали совмещать данные с Ораклом, и на "копию 2" поставили Ораклу. После неких телодвижений с базами и настройками "копия 2" умер. Попробовали переставить, умер снова. Отвезли в ремонт. Там над ним поколдовали, кое-что поменяли, вернули. Оракла вроде бы встал без проблем. Сиквел и Сервис пак тоже встали, никаких проблем с установкой не было. По памяти и с "копии 1" перенесли настройки.

И вот тут стала совсем интересно. Перенесли бэкап, восстановили базу из него. Вроде все ОК.
Запустили несложный запрос: SELECT по пяти таблицам, связи по ключам; с группировкой по ряду полей, в том числе по дате; никаких функций, кроме SUM; и с условиями по дате и NOT NULL. Самая большая таблица в запросе содержит 20 млн. строк. Никаких триггеров, констрейнов нет.
Выдает такую ошибку:
Server: Msg 5180, Level 22, State 1, Line 3
Could not open FCB for invalid file ID 6171 in database 'XXX'.
Connection Broken

При этом, если интервал дат в условии отбора уменьшить, где-то до недели, то все считается. Если убрать группировку по дате, то можно посчитать где-то за месяц.
Снесли Сиквел, переставили все, снова накатили базу. Результат тот же. Понятно, что "file ID" из ошибки имеет другой номер.

Извечный вопрос: Что делать? Что это за FCB такой (в букс онлайн есть только в тексте ошибок)? Или может ошибка в железе?
Заранее благодарен
14 фев 06, 15:00    [2354776]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки сервера после восстановления.  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
http://search.microsoft.com/results.aspx?q=%22Could+not+open+FCB+for+invalid+file+ID%22&l=en&OtherSite=&mkt=en-US&FORM=QBMA
14 фев 06, 15:06    [2354818]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки сервера после восстановления.  [new]
Glory
Member

Откуда:
Сообщений: 104760
dbcc checkdb()
14 фев 06, 15:07    [2354823]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки сервера после восстановления.  [new]
Дмитрий Б
Member

Откуда: Moscow, Russia
Сообщений: 45
Glory
dbcc checkdb()

Сенкс, стормозил. :-)
Чекдб дал варнинги.
Сделали базу синглюзерной и запустили чекдб с восстановлением.
После этого все заработало!

Однако, вопрос все же остался, ибо...
Нам необходимо каждый день накатывать "копию 2" с бекапа "источника". Естественно, повторная попытка наката привела к тем же ошибкам, которые были снова устранены чекдб с восстановлением. Чекдб у "источника" и "копии 1" никаких проблем не обнаруживает.

Почему "копия 2" восстанавливается с ошибками? В чем проблема? Железо? Настройки сервака или сиквела? Как решить? Понятно, что можно каждый раз после восстановления базы переводить ее в однопользовательский режим и чекать. А если перевести не удасться (коннекции какие останутся или что-то еще)?
Заранее благодарен
15 фев 06, 16:21    [2359707]     Ответить | Цитировать Сообщить модератору
 Re: Ошибки сервера после восстановления.  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Почему "копия 2" восстанавливается с ошибками?


Потому что бд, с которой белался бэкап могла содержать ошибки.

автор
А если перевести не удасться (коннекции какие останутся или что-то еще)?


ALTER DATABASE DatabaseName SET SINGLE_USER WITH ROLLBACK IMMEDIATE 
15 фев 06, 16:25    [2359740]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить