KB4469722 — POPRAWKA: Wewnętrzne komunikaty o błędach podczas aktualizowania tabeli systemowej reliktów FILESTREAM w SQL Server

Dotyczy
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)

Objawy

Załóżmy, że masz bazę danych obsługującą funkcję FILESTREAM w wystąpieniu usługi Microsoft SQL Server. Po uruchomieniu transakcji i użyciu interfejsu API platformy .NET SqlFileStream do otwarcia pliku FileStream zadanie może zakończyć się niepowodzeniem i zgłosić wyjątek z powodu czynników zewnętrznych.

Jeśli otworzysz plik ponownie przy użyciu usługi SqlFileStream w ramach tej samej transakcji i zatwierdzenia, mogą zostać wyświetlone komunikaty o błędach wewnętrznych podobne do następujących:

Uwaga

data, godzina, spids, nieznany, błąd: 5571<c/> istotność: 23<c/> stan: 3.
data, godzina, spids, nieznany, wewnętrzny błąd FILESTREAM: nie można uzyskać dostępu do tabeli wyrzucania elementów bezużytecznych.

W przypadku uruchomienia dbcc checktable ('sys.filestream_tombstone_2073058421') może zostać wyświetlony następujący komunikat o błędzie:

Uwaga

Wiadomość 8951, Poziom 16, Stan 1, Numer wiersza

Błąd tabeli: table dbcc checktable ('sys.filestream_tombstone_2073058421') ( IDNumber identyfikatora). Wiersz danych nie ma pasującego wiersza indeksu w indeksie "FSTSNCIdx" (identyfikatorIDNumber). Możliwe brakujące lub nieprawidłowe klucze do dopasowania wiersza indeksu:

Rozwiązanie

Rozwiązanie tego problemu jest zawarte w następujących aktualizacjach programu SQL Server:

Aktualizacja zbiorcza 13 dla programu SQL Server 2017

Aktualizacja zbiorcza 1 dla programu SQL Server 2014 z dodatkiem Service Pack 3

Aktualizacja zbiorcza 15 dla programu SQL Server 2014 z dodatkiem Service Pack 2

Informacje o kompilacjach programu SQL Server

Każda nowa kompilacja programu SQL Server zawiera wszystkie poprawki zabezpieczeń z poprzedniej kompilacji. Zalecamy zainstalowanie najnowszej kompilacji dla używanej wersji programu SQL Server:

Wersje kompilacji programu SQL Server 2017

Wersje kompilacji programu SQL Server 2014

Obejście

Aby obejść ten problem, odbuduj indeks bazy danych przy użyciu polecenia DBCC CHECKTABLE .

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Źródła informacji

Dowiedz się więcej o standardowej terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.