none
Ошибка при выполнении shrink database RRS feed

  • Вопрос

  • Имеется SQL Server 2000 SP4. Есть база 1С 77, файлы которой необходимо отшринковать.
    Через Enterprise Manager запускаю шринкование файлов базы, при этом выдается такая ошибка:

    Error 8909: Table error: Object ID 0, Index ID 0, Page ID (1:2207237). The PageID in the page header = (0:0).
    Table error: Object ID 538976288, Index ID 8224, Page ID (1:2207236). The PageID in the page header = (8224:538976288).
    Далее идет еще несколько строк с Table error. Потом:
    Table error: Object ID 1316199739, Index ID 0, Page ID (1:2207233). Test (IS_ON(BUF_IOERR, bp>bstat)&&bp->berrcode) failed. Values are 2057 and -1.
    I/O error (bad page ID) detected during read at offset 0x00000435c0a000 in file D:\base\work.mdf

    1C работает нормально. Что означает эта ошибка SQL?
    27 октября 2009 г. 7:13

Ответы

  • у вас повреждена таблица
    1. страница Page ID (1:2207237).
    2. объект с индексом 8224 на Page ID (1:2207236)

    и т.д.

    итог
    1. делаем бэкап того что еще работает
    2. берем на вооружение DBCC CHECKDB
    3. ремонтируем до победного конца...

    есть еще вариант - если есть бэкап то попробовать восстановиться из него
    blog.wadmin.ru
    30 октября 2009 г. 10:57

Все ответы

  • ...интересно, какая может быть необходимость в шринковании файлов данных?
    У Вас нарушена целостность данных. DBCC CHECKDB - расскажет подробно.

    27 октября 2009 г. 7:37
  • Необходимость такая,что необходимо уменьшить его размер.SQL  пишет, что после шринкования,его размер уменьшится на 4,5 гига. Это немало,сейчас база весит 20 Гб.
    Благодарю, а DBCC CHECKDB не удалит мне какие-то данные из базы данных?
    27 октября 2009 г. 7:43
  • Благодарю, а DBCC CHECKDB не удалит мне какие-то данные из базы данных?

    Если будете запускать без параметров, то нет, ничего не удалит.

    MCITP: Database Administrator
    27 октября 2009 г. 7:56
  • Необходимость такая,что необходимо уменьшить его размер.SQL  пишет, что после шринкования,его размер уменьшится на 4,5 гига. Это немало,сейчас база весит 20 Гб.

    Это не повод вытворять с базой такое безобразие, как шринк. Вы хоть представляете, что случится после этой операции?
    27 октября 2009 г. 8:12
  • Честно говоря, я думал просто уменьшить ее размер. Буду благодарен, если подскажете, что случиться еще с базой после этой операции.
    27 октября 2009 г. 8:41
  • у вас повреждена таблица
    1. страница Page ID (1:2207237).
    2. объект с индексом 8224 на Page ID (1:2207236)

    и т.д.

    итог
    1. делаем бэкап того что еще работает
    2. берем на вооружение DBCC CHECKDB
    3. ремонтируем до победного конца...

    есть еще вариант - если есть бэкап то попробовать восстановиться из него
    blog.wadmin.ru
    30 октября 2009 г. 10:57
  • Честно говоря, я думал просто уменьшить ее размер. Буду благодарен, если подскажете, что случиться еще с базой после этой операции.

    Ещё лучше уменьшает размер базы данных команда DROP DATABASE, но у Вас же не возникло желания её выполнить?
    Про сокращение размера файлов БД подробно написано в BOL: http://msdn.microsoft.com/ru-ru/library/ms190488.aspx
    В дополнение, прочтите ещё и это: http://www.sql.ru/articles/mssql/2007/051403ExtentUsageAndBehavioursWhenUsingDBREINDEXAndSHRINKFILE.shtml

    Про DBCC CHEKDB прочесть можно тут: http://msdn.microsoft.com/ru-ru/library/ms176064.aspx
    2 ноября 2009 г. 12:10