Symptomy
Załóżmy, że masz bazę danych obsługującą FILESTREAM w wystąpieniu programu Microsoft SQL Server. Po rozpoczęciu transakcji i otwarciu pliku FILESTREAM za pomocą interfejsu API SqlFileStream .NET zadanie może zakończyć się niepowodzeniem i zgłosić wyjątek ze względu na czynniki zewnętrzne.
Jeśli otworzysz plik ponownie za pomocą SqlFileStream w ramach tej samej transakcji i funkcji commit, mogą zostać wyświetlone wewnętrzne komunikaty o błędach podobne do następujących:
Data, godzina, identyfikatory SPID, nieznany, błąd: 5571<c/> ważność: 23<c/>:3.Data, godzina, identyfikatory SPID, nieznany, wewnętrzny błąd FILESTREAM: nie można uzyskać dostępu do tabeli kolekcji garbage.
W przypadku uruchomienia polecenia DBCC CHECKTABLE ("sys.filestream_tombstone_2073058421")może zostać wyświetlony następujący komunikat o błędzie:
Msg 8951, poziom 16, stan 1, wiersz LineNumber
Błąd tabeli: tabela DBCC CHECKTABLE ("sys.filestream_tombstone_2073058421") (identyfikator IDNumber). Wiersz danych nie ma zgodnego wiersza indeksu w indeksie "FSTSNCIdx" (identyfikatorIDNumber). Możliwe brakujące lub nieprawidłowe klucze dla dopasowania wiersza indeksu:
Rozwiązanie
Poprawka dotycząca tego problemu jest dostępna w następujących aktualizacjach programu SQL Server:
Zbiorcza aktualizacja 13 dla programu SQL Server 2017
Zbiorcza aktualizacja 1 dla programu SQL Server 2014 z dodatkiem Service Pack 3
Zbiorcza aktualizacja 15 dla programu SQL Server 2014 z dodatkiem Service Pack 2
Informacje o kompilacjach programu SQL Server
Każda nowa kompilacja dla programu SQL Server zawiera wszystkie poprawki hotfix i poprawki zabezpieczeń, które znajdowały się w poprzedniej kompilacji. Zalecamy zainstalowanie najnowszej kompilacji dla Twojej wersji programu SQL Server:
Obejście
Aby obejść ten problem, Odbuduj indeks bazy danych za pomocą polecenia DBCC CHECKTABLE .
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Informacje na temat standardowej terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.