none
При попытке сжатия базы отключается журнал базы данных с ошибкой 9001 RRS feed

  • Вопрос

  • Добрый день.

    MS SQL 2014 Standart with SP2 установлен на MS Win Server 2014r2 Standart.

    В связи с тем-что из софтового рэйда intel "выпал" диск и никак не хотел этим рэйдом подхватываться было решено перенести рэйд на другой контроллер(LSI 9240). Был остановлен SQL сервер, затем скопированы все файлы баз данных на резервный диск, затем пересобран рэйд и файлы бд скопированы обратно в те же директории. В связи с тем, что перед отключением SQL базы не были корректно отключены, начали возникать ошибки:

    Microsoft SQL Server Native Client 11.0: Операционная система возвратила ошибку 1(Неверная функция.) в SQL Server при запись в смещении 0x00000003aa0000 файла "E:\Data\tempdb.mdf".

    Отключили базы, удалили целиком SQL сервер, установили с нуля, подключили обратно. Ошибка больше не появляется. Но теперь появляется ошибка при попытке сжатия базы или журнала. Резервное копирование этих баз и журналов проходит корректно, DBCC CHECKDB проходит без ошибок (если предварительно не сделать попытку сжатия).

    ЗАГОЛОВОК: Microsoft SQL Server Management Studio
    ------------------------------

    Действие Сжатие завершилось неудачно для объекта "База данных" "crm_demo".  (Microsoft.SqlServer.Smo)

    Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=12.0.5000.0+((SQL14_PCU_main).160617-1804)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Сжатие+Database&LinkId=20476

    ------------------------------
    ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:

    При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)

    ------------------------------

    При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы. (Microsoft SQL Server, ошибка: 0)

    Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=12.00.5000&EvtSrc=MSSQLServer&EvtID=0&LinkId=20476

    Перезапуск СУБД, естественно, пробовал. В логи ОС сыпется ошибка 9001, после отсоединения и присоединения базы ошибка в логах больше не появляется до следующей попытке сжатия базы.

    Подскажите как решить данную проблему.




Ответы

  • Создайте новую базу и попытайтесь перенести в неё данные. Проще всего это сделать стандартным визардом по импорту/экспорту данных.

    Если ошибок не будет, вы получите живую беспроблемную базу
    Если ошибки будут, то вы поймёте какие именно данные пострадали и сможете подумать над тем, что теперь делать

  • Замена диска в рэйде не привела к желаемому результату. Обновил драйвер контроллера.

    Текущая версия: 6.707.7.0

    Предшествующая версия: 6.600.21.8.

    Неделя работы в штатном режиме. Никаких ошибок, сжатие всех бд проходит корректно. Всем спасибо за помощь. Тему можно закрыть.

    • Помечено в качестве ответа ИванТ 9 июня 2017 г. 5:38

Все ответы

  • Создайте новую базу и попытайтесь перенести в неё данные. Проще всего это сделать стандартным визардом по импорту/экспорту данных.

    Если ошибок не будет, вы получите живую беспроблемную базу
    Если ошибки будут, то вы поймёте какие именно данные пострадали и сможете подумать над тем, что теперь делать

  • При копировании через мастер импорта/экспорта копирутеся половина базы(судя по размеру) затем прерывается с ошибкой:

    =======================

            * Данные 0x402090e0: Задача потока данных 909: Финальная фиксация вставки данных в "Назначение 4544 - DBSchema" завершена.
    (Мастер импорта и экспорта SQL Server)

    * Данные 0x402090e0: Задача потока данных 909: Финальная фиксация вставки данных в "Назначение 4541 - ConfigCAS" завершена.
    (Мастер импорта и экспорта SQL Server)

    * Ошибка 0xc0202009: Задача потока данных 909: Код ошибки служб SSIS: DTS_E_OLEDBERROR. Возникла ошибка OLE DB. Код ошибки: 0x80004005.
    Доступна запись OLE DB. Источник: "Microsoft OLE DB Provider for SQL Server" Результат: 0x80004005 Описание: "Журнал для базы данных "base2" недоступен. См. в журнале событий связанные сообщения об ошибках. Устраните все ошибки и заново запустите базу данных.".
    (Мастер импорта и экспорта SQL Server)

    * Ошибка 0xc0209029: Задача потока данных 909: Код ошибки служб SSIS: DTS_E_INDUCEDTRANSFORMFAILUREONERROR. Сбой Назначение 4540 - Config.Входы[Destination Input] из-за возникновения ошибки с кодом 0xC020907B, и стратегия обработки ошибок строк в "Назначение 4540 - Config.Входы[Destination Input]" определяет сбой по ошибке. Ошибка возникла в указанном объекте указанного компонента. Возможно, до этого были опубликованы сообщения об ошибках, в которых содержатся более подробные сведения о причине сбоя.
    (Мастер импорта и экспорта SQL Server)

    * Ошибка 0xc0047022: Задача потока данных 909: Код ошибки служб SSIS DTS_E_PROCESSINPUTFAILED. Метод ProcessInput в компоненте "Назначение 4540 - Config" (37) завершился сбоем с кодом ошибки 0xC0209029 при обработке входа "Destination Input" (50). Указанный компонент возвращает ошибку при вызове метода ProcessInput. Данная ошибка относится к компоненту, но является неустранимой и приводит к остановке выполнения задачи потока данных. Возможно, до этого были выданы сообщения об ошибках, в которых содержатся более подробные сведения о причине сбоя.
    (Мастер импорта и экспорта SQL Server)

    ==============

    При этом base2 это база-реципиент

  • А места на диске под base2 и её логи транзакций достаточно?
  • Места достаточно.

    Попробовал перенести базу на др. диск. ошибок не появляется. Копирование через экспорт/импорт успешно.

    Заменил диск, который изначально "выпал" из рэйда intel на другой, при попытке сжатия снова ошибка. Отсоединил базу, присоединил базу, сжатие, успешно.

    Посмотрим на стабильность, но судя по всему проблема все же в диске. При этом все тесты диск проходит без ошибок, в том числе тесты от производителя. Контроллер показывает полную исправность диска. Диск SSD OCZ Saber 1000, отработал год из 5-ти гарантийных. Как его проверить на вшивость ума не приложу.


    • Изменено ИванТ 29 мая 2017 г. 3:33
  • Работаете вы в итоге с какой базой? С оригинальной или со свежезалитой? Я настоятельно советую работать со "свежей"
  • Последую вашей рекомендации, но судя по всему "уши" всё же "торчат" из рэйда. Проблема с отваливающимися журналами проявилась снова. Не на всех базах. На той базе у которой журнал на другом диске проблемы нет. Все проблемы только с боевыми базами, которые находятся на рэйде(и данные и журналы), т.е. те, у которых есть что сжимать на момент выполнения операции. Поэтому операции импорт/экспорт только в нерабочее время...
  • У вас, вероятно, действительно проблема с железом. Но если у вас что-то испортится в данных, то проблемы с покупкой новых железок могут показаться ерундой.
  • Замена диска в рэйде не привела к желаемому результату. Обновил драйвер контроллера.

    Текущая версия: 6.707.7.0

    Предшествующая версия: 6.600.21.8.

    Неделя работы в штатном режиме. Никаких ошибок, сжатие всех бд проходит корректно. Всем спасибо за помощь. Тему можно закрыть.

    • Помечено в качестве ответа ИванТ 9 июня 2017 г. 5:38