Symptomy
Załóżmy, że masz bazę danych z włączoną izolacją migawki Read Committed (RCSI) przez ustawienie opcji READ_COMMITTED_SNAPSHOT w programie Microsoft SQL Server 2014. W przypadku uzyskiwania dostępu do tabeli zoptymalizowanej pod kątem pamięci i zmiennej tabeli zoptymalizowanej za pomocą pamięci w tej samej instrukcji poza kontekstem transakcji użytkownika operacja może się nie powieść. Ponadto może zostać wyświetlony następujący komunikat o błędzie:
Msg 41359. Kwerenda, która uzyskuje dostęp do tabel zoptymalizowanych z pamięcią przy użyciu poziomu izolacji READ COMMITTED, nie ma dostępu do tabel opartych na dyskach, jeśli opcja bazy danych READ_COMMITTED_SNAPSHOT jest ustawiona na wartość włączone. Zapewnianie obsługiwanego poziomu izolacji tabeli zoptymalizowanej pod kątem pamięci przy użyciu wskazówki dotyczącej tabeli, takiej jak w przypadku funkcji (migawka).
Rozwiązanie
Ten problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server.
Zbiorcza aktualizacja 1 dla programu SQL Server 2014 /en-us/help/2931693
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Obejście
Aby obejść ten problem, Skorzystaj z poniższych obejść:
-
Użyj wskazówki dotyczącej tabeli z funkcją (migawka) ze zmienną tabeli.
-
Ustaw dla opcji bazy danych MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT wartość włączone.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".