ИСПРАВИТЬ: Файлов базы данных может быть ошибочно помечен как как разреженный, в SQL Server 2008 R2 или SQL Server 2008 даже в том случае, когда физические файлы помечаются как разреженный не в файловой системе

Применимо к: SQL Server 2008 R2 DeveloperSQL Server 2008 R2 EnterpriseSQL Server 2008 R2 Express

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

Симптомы


Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2008 может пометить файлы данных базы данных как Разреженный , даже если физические файлы помечаются как Разреженный не в файловой системе.

Примечания
  • Чтобы определить, является ли файлов базы данных помечены как Разреженный в метаданных SQL Server, выполните следующую инструкцию и затем проверить, установлен ли в столбце Is_Sparse ненулевое значение в результирующем наборе:
    Use 
    <database name>
    select is_sparse , physical_name from sys.database_files
  • Чтобы запросить состояние физических файлов в файловой системе, введите следующую команду Windows после база данных находится в автономном режиме:
    fsutil sparse queryflag 
    <files path>\<database file>
    Если вы получаете следующие выходные данные, файл помечен как Разреженный в файловой системе:
    Установлено, этот файл как разреженный.
  • SQL Server метаданные и метаданные файловой системы должен быть помечен как Разреженный для только файлов базы данных, являющихся частью моментального снимка базы данных.

Причина


Эта проблема возникает из-за файловой системы неправильно помечает файл как Разреженный данных всей базы данных после альтернативный поток, который первоначально был помечен как Разреженный удаляется. Альтернативный поток удаляется при завершении Команды DBCC CHECKDB.

Примечания
  • Использования внутреннего моментального снимка базы данных — это функция NTFS, используемые семейством команд DBCC CHECKDB . При выполнении команды DBCC , компонент database engine создает поток альтернативных моментальных снимков базы данных и приводит ее в согласованное состояние транзакций. Команда DBCC выполняется проверка альтернативного потока. Альтернативный поток удаляется после завершения команды DBCC .
  • Конструктор вызывает появление данной проблемы было представлено в Windows Server 2003, в котором используются резервные копии на уровне тома Windows резервное копирование файлов базы данных. Метаданные SQL Server хранит копию разреженными атрибуты для файлов данных в системных таблицах. Однако SQL Server не обновляет сведения Is_Sparse после удаления установлен атрибут sparse из файловой системы.
  • Эта проблема также возникает после переноса базы данных с Windows Server 2003 до более поздней версии операционной системы Windows.

    Например миграции баз данных из Windows Server 2003 до Windows Server 2008 или Windows Server 2008 R2.

Решение


Для решения этой проблемы в SQL Server 2008 R2 или SQL Server 2008, установите указанное ниже исправление, а затем переведите базу данных в оперативный режим. Когда база данных переводится в оперативный режим, SQL Server проверяет, помечен ли как Разреженный метаданных файла физической базы данных в файловой системе. Если он помечен как не разреженный, обновляются метаданные SQL Server.

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

Информация о накопительном пакете обновления

Пакет обновления 3 для SQL Server 2008

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

Пакет обновления 1 для SQL Server 2008

Исправление этой уязвимости первого выпуска в накопительное обновление 16 для SQL Server 2008 Пакет обновления 1. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
Пакет 16 2582282 накопительного обновления для SQL Server 2008 Пакет обновления 1
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
970365 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008 Пакет обновления 1
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2008 Пакет обновления 1 для установки SQL Server 2008 Пакет обновления 1. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

Пакет обновления 2 для SQL Server 2008

Исправление этой уязвимости первого выпуска в накопительный пакет обновления 6 для SQL Server 2008 Пакет обновления 2. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
2582285 накопительного обновления пакет обновления 6 для SQL Server 2008 Пакет обновления 2
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2402659 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008 Пакет обновления 2
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2008 Пакет обновления 2 для установки Пакет обновления 2 для SQL Server 2008. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

SQL Server 2008 R2 CU9

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

SQL Server 2008 R2 Пакет обновления 1 CU2

Исправление, устраняющее эту проблему, сначала было выпущено в накопительный пакет обновления 2. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 SP1 щелкните следующий номер статьи базы знаний Майкрософт:
2567714 накопительного обновления 2 для SQL Server 2008 R2 Пакет обновления 1
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 R2 SP1 исправления выпуска. Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2567616 SQL Server 2008 R2 выполняет построение, выпущенных после выпуска SQL Server 2008 R2 Пакет обновления 1

Сведения об исправлении

Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте это исправление только в тех случаях, когда наблюдается проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.

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

Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Для получения полного списка телефонов поддержки и обслуживания клиентов корпорации Майкрософт, или для создания отдельного запроса на обслуживание, посетите следующий веб-сайт Майкрософт:
Примечание. В форме "Пакет исправлений доступен для скачивания" отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.

Предварительные условия

Для установки этого исправления необходимо иметь SQL Server 2008 R2 установлен.

Необходимость перезагрузки

Не требуется перезагружать компьютер после установки данного исправления.

Сведения о замене исправлений

Это исправление не заменяет ранее выпущенные исправления.

Сведения о файлах

Глобальная версия этого исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, откройте вкладку Часовой пояс элемента Дата и время в панели управления.

Имя файлаВерсия файлаРазмер файлаДатаВремяПлатформа
Sqlservr.exe2009.100.1800.0121,829,21608-Jul-201111:55IA-64
Sqlservr.exe2009.100.1800.062,027,61608-Jul-201112:28x64
Sqlservr.exe2009.100.1800.042,911,58408-Jul-201113:22x86

Статус


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

Дополнительные сведения


Следующая таблица предоставляет дополнительные сведения о продуктах и средства, которые автоматически проверки данного условия на экземпляр SQL Server и на версиях продукта SQL Server, для которой проверяется правило.
Правила программыНазвание правилаОписание правилаВерсии продуктов, для которых вычисляется правило
Советник по System CenterФайлы базы данных SQL Server, помеченные как разреженные файлы
Советник по System Center проверяет, если этот экземпляр SQL Server содержит файлы базы данных, помеченных как разреженный. Только файлы моментальных снимков базы данных должны быть помечены как файлы. Если обычная база данных файлы помечаются как разреженный, ядра СУБД создает оповещение. Советник по зависит от столбца is_sparse в представлении каталога sys.master_files. Просмотрите подробности, которые приведены в разделе «Сбор информации» оповещения ядра СУБД и проверьте состояние разреженных для затрагиваемых файлов на уровне ОС. После очистки разреженного состояния операционной системы, можно применить исправления, описанного в этой статье обновление метаданных SQL Server и выполнять синхронизацию с настройками операционной системы.

SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Ссылки


Дополнительные сведения о командах DBCC посетите следующий веб-узел MSDN:Дополнительные сведения об инструкции Fsutil посетите следующий веб-узел MSDN:Дополнительные сведения об этой проблеме в Windows Server 2003 щелкните следующий номер статьи базы знаний Майкрософт:
973886 нельзя восстановить больших файлов в файловой системе NTFS при удалении всех потоков данных, которые имеют атрибуты разреженности в 64-разрядной версии Windows XP SP2 или Windows Server 2003 с пакетом обновления 2
932021 сообщение об ошибке при выполнении команды «chkdsk» вместе с «/ v» переключиться на компьютере под управлением Windows Server 2003: «Correcting разреженных сегмента записи файла < число >»