Применяется к
SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Web SQL Server 2008 R2 Standard SQL Server 2008 R2 Express SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2 с пакетом обновления 1 (SP1) или Microsoft SQL Server 2008 или Microsoft SQL Server 2012 в одном загружаемом файле. Так как исправления являются накопительными, каждый новый выпуск содержит все исправления и все обновления для системы безопасности, включенные в предыдущий SQL Server 2008 R2 с пакетом обновления 1 (SP1) или SQL Server 2008 или Microsoft SQL Server 2012.

Проблемы

Восстановление базы данных в Microsoft SQL Server 2008 R2, Microsoft SQL Server 2008 или Microsoft SQL Server 2012 может занять много времени.

Причина

Эта проблема возникает из-за того, что создание списка виртуальных файлов журнала (VLF) занимает много времени, если в базе данных имеется много VLF.

Решение

Сведения о накопительном пакете обновления

SQL Server 2012

Исправление этой проблемы было впервые выпущено в накопительном пакете обновления 1 для SQL Server 2012 г. Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

2679368 Накопительный пакет обновления 1 для SQL Server 2012Примечать, поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2012 года. Корпорация Майкрософт рекомендует применить последний выпуск исправления, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2692828 Сборки SQL Server 2012, выпущенные после выпуска SQL Server 2012. Необходимо применить исправление SQL Server 2012 к установке SQL Server 2012.

SQL Server 2008 с пакетом обновления 2 (SP2)

Исправление этой проблемы было впервые выпущено в накопительном пакете обновления 8 для SQL Server 2008 с пакетом обновления 2 (SP2). Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

2648096 Накопительный пакет обновления 8 для SQL Server 2008 с пакетом обновления 2 (SP2)Примечаемые сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления безопасности, включенные в предыдущий выпуск исправлений SQL Server 2008 года. Корпорация Майкрософт рекомендует применить последний выпуск исправления, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2402659 Сборки SQL Server 2008 года, выпущенные после выпуска SQL Server 2008 с пакетом обновления 2 (SP2) microsoft SQL Server 2008, создаются для конкретных пакетов обновления SQL Server. Необходимо применить исправление SQL Server 2008 с пакетом обновления 2 (SP2) к установке SQL Server 2008 с пакетом обновления 2 (SP2). По умолчанию любое исправление, предоставляемое в пакете обновления SQL Server, входит в следующий пакет обновления SQL Server.

SQL Server 2008 с пакетом обновления 3 (SP3)

Исправление этой проблемы было впервые выпущено в накопительном пакете обновления 3 для SQL Server 2008 с пакетом обновления 3 (SP3). Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

2648098 Накопительный пакет обновления 3 для SQL Server 2008 с пакетом обновления 3Примечаемые сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 года. Корпорация Майкрософт рекомендует применить последний выпуск исправления, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2629969 Сборки SQL Server 2008 года, выпущенные после выпуска SQL Server 2008 с пакетом обновления 3 (SP3) microsoft SQL Server 2008, создаются для конкретных пакетов обновления SQL Server. Необходимо применить исправление SQL Server 2008 с пакетом обновления 3 (SP3) к установке SQL Server 2008 с пакетом обновления 3 (SP3). По умолчанию любое исправление, предоставляемое в пакете обновления SQL Server, входит в следующий пакет обновления SQL Server.

Накопительный пакет обновления 11 для SQL Server 2008 R2

Исправление этой проблемы было впервые выпущено в накопительном пакете обновления 11. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

2633145 Накопительный пакет обновления 11 для SQL Server 2008 R2Примечать. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений SQL Server 2008 R2. Рекомендуется применить последний выпуск исправления, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2

Накопительный пакет обновления 4 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)

Исправление этой проблемы было впервые выпущено в накопительном пакете обновления 4. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 1 (SP1), щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

2633146 Накопительный пакет обновления 4 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)Примечать. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и все исправления безопасности, включенные в предыдущий выпуск исправления SQL Server 2008 R2 с пакетом обновления 1 (SP1). Рекомендуется применить последний выпуск исправления, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2567616 Сборки SQL Server R2 2008, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 1 (SP1)

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

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

Количество сегментов VLF можно проверка, просмотрив файл журнала ошибок SQL, а затем найдя номер последовательности журнала (LSN) в каждом файле резервной копии журнала транзакций. Первые цифры перед символом двоеточия в номерах LSN соответствуют номеру LSN.Например, первое число в первом информационном сообщении для LSN — 1. Однако первое число во втором информационном сообщении для LSN 100001. В этом сценарии между первым информационным сообщением и вторым информационным сообщением используется 100 000 VLF. Таким образом, журнал фрагментированных транзакций с большим количеством виртуальных Files журналов выглядит следующим образом:

{Создано резервное копирование журнала. База данных: mydbname, дата создания(время): 2010/07/08(12:36:46), первый номер LSN: 1:5068:70, последний LSN: 1:5108:1, количество устройств дампа: 1, сведения об устройстве: (FILE=1, TYPE=DISK: {'C:\folder\logbackup1.trn'}). Это только информационное сообщение. Никаких действий от пользователя не требуется.Создана резервная копия журнала. База данных: mydbname, дата создания(время): 2010/07/08(15:36:46), первый номер LSN: 100001:5108:1, последний LSN: 100002:5108:1, количество устройств дампа: 1, сведения об устройстве: (FILE=2, TYPE=DISK: {'C:\folder\logbackup2.trn'}). Это только информационное сообщение. Никаких действий от пользователя не требуется.}

Ссылки

Дополнительные сведения о номерах последовательности журналов (LSN) см. на следующем веб-сайте MSDN:

Общие сведения о порядковых номерах журналов

Дополнительные сведения о том, как структура файлов журнала может повлиять на время восстановления базы данных, посетите следующий веб-сайт MSDN:

Как структура файла журнала может повлиять на время восстановления базы данныхДополнительные сведения о VLF-файлах журнала транзакций см. на следующем веб-сайте MSDN:

Общие сведения о файле журнала транзакций

Обходное решение

  • Дождитесь завершенияоперации восстановления или восстановления. Если при восстановлении или восстановлении базы данных у вас есть невосстановленная база данных с низкой производительностью, возможно, придется дождаться завершения операции восстановления или восстановления. Например, вы можете увидеть состояние автономного или восстановления в SQL Server Management Studio (SSMS) для невосстановленной базы данных. Остановка SQL Server обычно не дает облегчения для медленного восстановления и может занять больше времени, чтобы повторить один и тот же этап анализа восстановления, этап повтора или отмены.

  • Избегайте восстановления последовательности журнала транзакций, которая содержит тысячи файлов VLFs. Если при восстановлении и восстановлении базы данных с помощью файла резервной копии производительность снижается, можно избежать восстановления последовательностей журналов транзакций, содержащих тысячи VLFs. Чтобы определить файл резервной копии с наибольшим числом записанных виртуальных файлов журнала, используйте следующую инструкцию, чтобы просмотреть столбцы FirstLSN и LastLSN в файлах резервной копии журнала: RESTORE HEADERONLY FROM DISK='C:\folder\file.trn'Вы можете избежать восстановления файлов резервной копии журнала. Кроме того, можно использовать инструкцию STOP AT в командах RESTORE, чтобы избежать фрагментированных частей журналов транзакций. Если вы не полностью восстановите последовательности журналов до последней точки во времени во время сценария восстановления сбоя, потеря данных происходит в базе данных SQL Server. Эта потеря данных происходит из-за того, что не все транзакции хранятся. Таким образом, существует решение о компромиссе. Вы можете полностью восстановить журнал транзакций с высокой степенью фрагментирований. Однако эта операция может занять много часов. Кроме того, можно использовать инструкцию STOP AT в восстановлении, чтобы остановить восстановление до фрагментированной части журнала. Однако все отсутствующие транзакции, которые вы опустили, будут потеряны.Примечание Без установки этого исправления обычно не существует безопасного обращения к ускоренному восстановлению после перезапуска SQL Server. SQL Server необходимо найти список VLF для анализа файлов журнала, повторного выполнения завершенных транзакций, а затем отмены незавершенных транзакций, чтобы завершить восстановление, чтобы безопасно перевести базу данных в режим "к сети". Невозможно безопасно пропустить транзакции во время восстановления.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.