Устранение ошибок 3414 и восстановления поврежденной базы данных с SQL Server

Переводы статьи Переводы статьи
Закрыть Закрыть
Код статьи: 2015741 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

При сбое базы данных для восстановления произошла ошибка, как в следующем примере записывается ERRORLOG или журнал событий приложений Windows с EventID = 3414:

Ошибка: 3414, уровень серьезности: 21, состояние: 1.
Произошла ошибка во время восстановления, предотвращая перезапуск базы данных 'mydb "(базы данных идентификатор 13). Проведите диагностику ошибок восстановления и исправьте их или восстановление из проверенной рабочей резервной копии. Если ошибки не исправлены или не ожидалось, обратитесь в службу технической поддержки
)

Причину ошибки восстановления обычно является ошибкой, предшествующей 3414 ошибку в журнал событий или ERRORLOG.

При повреждении базы данных восстановления, эта ошибка ПОДОЗРИТЕЛЬНАЯ присвоено состояние базы данных. Вы увидите это состояние в среде SQL Server Management Studio (рядом с базой данных) и глядя в столбце sys.databases.state_desc. Любая попытка использования базы данных в этом состоянии приведет к следующей ошибке:

Сообщение 926, уровень 14, состояние 1, строка 1
Не удается открыть базу данных «mydb». Они помечены как ПОДОЗРИТЕЛЬНАЯ операцией восстановления. Журнал ошибок SQL Server для получения дополнительных сведений см.

Причина

Причина сбоя восстановления находятся в предыдущем ошибок в ЖУРНАЛ, где строки в файл журнала имеет то же значение spid <n>. Например ниже приведен сбой восстановления из-за ошибки контрольной суммы при попытке чтения блока журнала для наката транзакций.

2010-03-31 17:33:13.00 spid15s ошибка: 824, уровень серьезности: 24, состояние: 4.
2010-03-31 17:33:13.00 spid15s SQL Server обнаружил логическая ошибка ввода-вывода с согласованностью: (Неверная контрольная сумма). Произошла во время чтения страницы (0: -1) в базе данных 13 код со смещением 0x0000000000b800 в файле "C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\mydb_log.LDF ".  Дополнительные сообщения в журнале событий системы или журнал ошибок SQL Server может предоставить более подробные сведения. Это серьезная ошибка условие, которое может нарушить целостность базы данных и должны быть исправлены немедленно. Завершена проверка целостности всей базы данных (DBCC CHECKDB). Эта ошибка может быть вызвана многими факторами; Дополнительные сведения содержатся в документации по SQL Server.
2010-03-31 17:33:13.16 spid15s ошибки: 3414, уровень серьезности: 21, состояние: 1.
2010-03-31 17:33:13.16 spid15s об ошибке произошла во время восстановления, предотвращая перезапуск базы данных 'mydb "(базы данных идентификатор 13). Проведите диагностику ошибок восстановления и исправьте их или восстановление из проверенной рабочей резервной копии. Если ошибки не исправлены или не ожидалось, обратитесь в службу технической поддержки

Существует широкий спектр ошибок, которые могут вызвать сбой восстановления базы данных. Хотя необходимо оценить каждую ошибку в по обстоятельств, разрешение на сбой восстановления базы данных обычно является таким же, как описано в разделе «Решение» ниже.

Решение

Сообщение об ошибке говорит «диагностику ошибок восстановления и исправьте их или восстановление из проверенной рабочей резервной копии». На самом деле восстановление из резервной копии является вашей во-первых, лучший вариант для решения этой проблемы. Тем не менее если не удается восстановить из резервной копии, существует два варианта:

  • Используйте метод аварийного восстановления , предоставляемые DBCC CHECDB
  • Попробуйте скопировать столько как возможно в другую базу данных

Первый метод является, вероятно лучше всего получить базу данных через Интернет и доступны. Тем не менее необходимо понимать, что согласованности транзакций не может быть гарантирована, так как не удалось выполнить восстановление. Нет способа узнать, какие операции должен выполнен накат задней или откат но было запрещено из-за сбоя восстановления. Действия для выполнения аварийного восстановления описаны в разделе Устранение ошибок базы данных в аварийный режим в документации по SQL Server в списке команды dbcc checkdb .

Если этот способ не работает, и вы хотите попробовать и копирование данных в другую базу данных, сначала перевести базу данных в аварийный режим с помощью инструкции ALTER DATABASE <dbname> НАБОР АВАРИЙНОГО команды является единственный способ получить доступ к базе данных.

Дополнительная информация

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

Ошибки, возникающие при первом открытии базы данных или транзакций журналы это происходит до восстановления и приведет к таким ошибкам как Msg, 17204 и 17207. После устранения этих ошибок восстановления можно продолжать (но не гарантируется, что выполнение при возникновении других ошибок, действием восстановления). Ошибки, такие как 17204 и 17207 не приводят ПОДОЗРИТЕЛЬНУЮ базу данных. На самом деле состояние базы данных — это RECOVERY_PENDING при возникновении этих проблем. Для получения дополнительных сведений об устранении ошибки 17204 или 17207 обратитесь к следующей статье: Устранение ошибок, 17204 и 17207 в SQL Server.

SQL Server 2005 появилась новая концепция, чтобы обеспечить возможность восстановления до завершения даже при обнаружении ошибки уровня страницы и по-прежнему поддерживать согласованность транзакций. Это значительно снижает количество ситуаций, что приводит к ПОДОЗРИТЕЛЬНУЮ базу данных. Эта концепция обычно называют отложенные транзакции.

Если ошибка произошла во время восстановления проблемы со страницы базы данных, таких как ошибка контрольной суммы или Msg 824, восстановление может быть позволено завершено с ошибками ожидающих. В случае, когда незафиксированные транзакции ошибка на странице как контрольная сумма может привести Отложенная транзакция возможности восстановления после завершения вызова.  Дополнительные сведения об отложенных транзакций и восстановление из них, содержатся в разделе, озаглавленном Отложенных транзакций в SQL Server Books Online.

Следующие записи ERRORLOG является примером ошибки Msg 824, во время восстановления, но восстановление было разрешено завершить с отложенная транзакция. Обратите внимание на отсутствие ошибок 3414 в этой ситуации и сообщение, что восстановление завершено для базы данных:

2010-03-31 19:17:18.45 spid7s ошибка: 824, уровень серьезности: 24, состояние: 2.
2010-03-31 19:17:18.45 spid7s SQL Server обнаружил логическая ошибка ввода-вывода с согласованностью: Неверная контрольная сумма (ожидается: 0xb2c87a0a; фактические: 0xb6c0a5e2). Она возникла во время чтения страницы (1:153) 13 идентификатор базы данных по смещению 0x00000000132000 в файле "C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\mydb.mdf ".  Дополнительные сообщения в журнале событий системы или журнал ошибок SQL Server может предоставить более подробные сведения. Это серьезная ошибка условие, которое может нарушить целостность базы данных и должны быть исправлены немедленно. Завершена проверка целостности всей базы данных (DBCC CHECKDB). Эта ошибка может быть вызвана многими факторами; Дополнительные сведения содержатся в документации по SQL Server.
2010-03-31 19:17:18.45 spid7s ошибки: 3314, уровень серьезности: 21, состояние: 1.
2010-03-31 19:17:18.45 spid7s при выполнении отката запротоколированной операции в базе данных "mydb", произошла ошибка с кодом записи журнала (25:100:19). Как правило конкретный сбой предварительно протоколируется как ошибка в службе журнала событий Windows. Восстановление базы данных или файла из резервной копии или восстановления базы данных.
2010-03-31 19:17:18.45 spid7s ошибки во время восстановления при откате транзакции. Транзакция отложена. Восстановите поврежденную страницу или файл, и запустите программу восстановления.
spid7s 19:17:18.45 2010-03-31, для завершения восстановления базы данных mydb (базы данных идентификатор 13) в 2 second(s) (25 мс, г-жа отмены 1832 Повторить анализ 204 ms) это информационное сообщение. Не требуется никаких действий пользователя
.

Для фиксации транзакции, должен быть выполнен накат страница может быть помечен недоступным (любые будущие попытки доступа к результатов страницы в Msg 829) и восстановления можно разрешить завершение. В этом случае ошибка должна быть исправлена, восстановление из резервной копии страницы или освобождение страницы с помощью инструкции DBCC CHECKDB с ремонта.

Примечание: Отложенные транзакции является дополнительным SQL Server доступны только в выпуске Enterprise Edition и имеет ряд ограничений и требований:

  • Необходимо использовать модель восстановления с НЕПОЛНЫМ ПРОТОКОЛИРОВАНИЕМ или ПОЛНОЙ базы данных.
  • AT хотя бы один помощник и резервная копия журнала должны быть завершены для базы данных
  • Это не относится к ошибок, обнаруженных во время отката транзакции после база данных находится в оперативном режиме. (например ошибки времени выполнения )
  • Не работает для присоединения восстановления сбоев во время базы данных
  • Некоторые операции, а также системных транзакций (например страница выделения) не поддерживаются для отложенного
Примечание. Это ЭКСПРЕСС-ПУБЛИКАЦИЯ, подготовленная непосредственно службой технической поддержки Майкрософт . Сведения, содержащиеся в данном документе, предоставлены в качестве отклика на возникшие проблемы. Из-за срочности в материалах могут быть опечатки, и в любое время и без уведомления в них могут быть внесены изменения. Чтобы получить дополнительные сведения, см. Условия использования.

Свойства

Код статьи: 2015741 - Последний отзыв: 30 мая 2011 г. - Revision: 8.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
Ключевые слова: 
kbmt KB2015741 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:2015741

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com