KB4469722 - ИСПРАВЛЕНО: внутренние сообщения об ошибках при обновлении системной таблицы полного удаления FILESTREAM в SQL Server

Применяется к
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Проблема

Предположим, что у вас есть база данных с поддержкой FILESTREAM в экземпляре Microsoft SQL Server. Когда вы начинаете транзакцию и используете API SqlFileStream .NET для открытия файла Filestream, задача может завершиться ошибкой и вызвать исключение из-за внешних факторов.

Если вы снова откроете файл с помощью SqlFileStream в рамках той же транзакции и зафиксируете его, вы можете получить внутренние сообщения об ошибке, похожие на следующие:

Примечание

дата и время, spids, неизвестно, ошибка: 5571<c/> Серьезность: 23<c/> Состояние: 3.
дата и время, spids, неизвестно, внутренний FILESTREAM ошибка: не удалось получить доступ к таблице сборки мусора.

Если вы запустите dbcc checktable ('sys.filestream_tombstone_2073058421'), вы можете получить следующее сообщение об ошибке:

Примечание

MSG 8951, уровень 16, состояние 1, номер строки

Ошибка таблицы: таблица dbcc checktable ('sys.filestream_tombstone_2073058421') (ID IDNumber). Строка данных не содержит соответствующей строки индекса в индексе "FSTSNCIdx (IDIDNumber"). Возможные отсутствующие или недопустимые ключи для сопоставления строки индекса:

Решение

Исправление этой проблемы включено в следующие обновления для SQL Server:

Накопительный пакет обновления 13 для SQL Server 2017

Накопительный пакет обновления 1 для SQL Server 2014 с пакетом обновления 3 (SP3)

Накопительный пакет обновления 15 для SQL Server 2014 с пакетом обновления 2 (SP2)

Сведения о сборках SQL Server

Каждая новая сборка для SQL Server содержит все исправления и исправления безопасности, которые были в предыдущей сборке. Рекомендуется установить последнюю сборку для вашей версии SQL Server.

Версии сборок SQL Server 2017

Версии сборок SQL Server 2014

Временное решение

Чтобы обойти эту проблему, перестройте индекс базы данных с помощью команды DBCC CHECKTABLE .

Состояние

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

Ссылки

Узнайте о стандартной терминологии , используемой корпорацией Майкрософт для описания обновлений программного обеспечения.