Симптоми
Приемете, че имате база данни с разрешени FILESTREAM в екземпляр на Microsoft SQL Server. Когато стартирате транзакция и използвате SqlFileStream .NET API, за да отворите файл на FileStream, задачата може да е неуспешна и да изхвърли изключение поради външни фактори.
Ако отворите файла отново с помощта на SqlFileStream в рамките на една и съща транзакция и извършите, е възможно да получите вътрешни съобщения за грешка, които приличат на следното:
Дата, SPIDs, неизвестна, грешка: 5571<c/> тежест: 23<c/>-членка: 3.Дата, SPIDs, неизвестна, вътрешна грешка в FileStream: неуспех при достъп до таблицата за събиране на боклуци.
Ако изпълнявате DBCC checktable ("sys.filestream_tombstone_2073058421"), е възможно да получите следното съобщение за грешка:
MSG 8951, ниво 16, щат 1, линия LineNumber
Грешка в таблица: таблица DBCC checktable ("sys.filestream_tombstone_2073058421") (ИД IDNumber). Редът с данни няма ред за съвпадащи индекси в индекса "FSTSNCIdx" (ИДIDNumber). Възможни липсващи или невалидни ключове за съвпадане на реда за индексиране:
Решение
Корекцията за този проблем е включена в следните актуализации за SQL Server:
Кумулативна актуализация 13 за SQL Server 2017
Сборна актуализация 1 за SQL Server 2014 Service Pack 3
Кумулативна актуализация 15 за SQL Server 2014 Service Pack 2
За компилациите на SQL Server
Всяка нова компилация за SQL Server съдържа всички поправки и корекции на защитата, които са били в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за вашата версия на SQL Server:
Заобиколно решение
За да заобиколите този проблем, създайте отново индекса на базата данни с помощта на командата DBCC CHECKTABLE .
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Препратки
Запознайте се с стандартната терминология , която Microsoft използва, за да опише софтуерни актуализации.