Проблемы
Предположим, что вы установили одно из следующих обновлений на компьютере, на котором установлена microsoft SQL Server 2008 R2 или Microsoft SQL Server 2012:
-
Накопительный пакет обновления 6 для SQL Server 2008 R2 с пакетом обновления 1 (SP1) или более поздних версий
-
Накопительный пакет обновления 1 для SQL Server 2008 R2 с пакетом обновления 2 (SP2) или более поздних версий
В этом случае выполняется инструкция RESTORE FILELISTONLY для восстановления базы данных в SQL Server 2008 R2. Однако операция восстановления завершается сбоем. Кроме того, появляется приведенное ниже сообщение об ошибке:
Сообщение 3241, уровень 16, состояние 1, строка 1. Семейство носителей на устройстве "<BackupFilePath>" сформировано неправильно. SQL Server не может обработать это семейство носителей.Сообщение 3013, уровень 16, состояние 1, строка 1RESTORE FILELIST завершается аномально.
Примечание. При выполнении инструкции DBCC CHECKDB в более ранних сборках SQL Server 2008 R2 не возникает ошибка согласованности, указывающая на проблемы на носителе резервного копирования. Таким образом, резервную копию можно восстановить в этих более ранних версиях.
Причина
Проблема возникает из-за того, что накопительное обновление 5 для SQL Server 2008 R2 с пакетом обновления 1 (SP1) и накопительное обновление 1 для SQL 2008 R2 с пакетом обновления 2 (SP2) выполняет проверку полноты базы данных при восстановлении базы данных. Однако эта проверка не требуется для инструкции RESTORE FILELISTONLY. Эта проверка была включена в исправления, описанные в 2685132 базы знаний. Чтобы узнать больше о проверке полноты базы данных, щелкните следующий номер статьи 2685132, чтобы просмотреть 2685132 в базе знаний Майкрософт:
2685132 ИСПРАВЛЕНИЕ. Задание восстановления доставки журналов восстанавливает поврежденную резервную копию журнала транзакций в базе данных-получатель при выполнении задания резервного копирования доставки журналов на экземпляре SQL Server 2008 R2 или экземпляре SQL Server 2012
Решение
Сведения о накопительном пакете обновления
Накопительный пакет обновления 9 для SQL Server 2012 г.
Исправление этой проблемы было впервые выпущено в накопительном обновлении 9. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2012 г., щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
2867319 Накопительный пакет обновления 9 для SQL Server 2012Примечать. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2012 года. Рекомендуется применить последний выпуск исправления, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2692828 Сборки SQL Server 2012 года, выпущенные после SQL Server 2012 года, были выпущены
Накопительный пакет обновления 5 для SQL Server 2012 с пакетом обновления 1 (SP1)
Исправление этой проблемы было впервые выпущено в накопительном обновлении 5. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2012 с пакетом обновления 1 (SP1), щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
2861107 Накопительный пакет обновления 5 для SQL Server 2012 с пакетом обновления 1 (SP1)Примечать. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2012 с пакетом обновления 1 (SP1). Рекомендуется применить последний выпуск исправления, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2772858 Сборки SQL Server 2012 года, выпущенные после выпуска SQL Server 2012 с пакетом обновления 1 (SP1)
Накопительный пакет обновления 13 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Исправление этой проблемы было впервые выпущено в накопительном обновлении 13. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 1 (SP1), щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
2855792 Накопительный пакет обновления 13 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)Примечать. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2 с пакетом обновления 1 (SP1). Рекомендуется применить последний выпуск исправления, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Накопительный пакет обновления 7 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Исправление этой проблемы было впервые выпущено в накопительном пакете обновления 7. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 2 (SP2), щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
2844090 Накопительный пакет обновления 7 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)Примечать. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2 с пакетом обновления 2 (SP2). Рекомендуется применить последний выпуск исправления, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Обходное решение
Чтобы обойти эту проблему, выполните инструкцию RESTORE FILELISTONLY вместе с параметром CONTINUE_AFTER_ERROR .