Objawy
Rozważmy następujący scenariusz:
- Istnieje funkcja SQLCLR zadeklarowana jako "deterministyczna" i może być używana do optymalizacji "zamiany na stałą".
- Istnieje synonim wskazujący na funkcję SQLCLR.
- Funkcja zwracająca tabelę (TVF) odwołuje się do funkcji SQLCLR za pomocą synonimu.
W tym scenariuszu, gdy aplikacja wysyła zapytanie do tej usługi TVF, może wystąpić naruszenie zasad dostępu i może zostać wyświetlony komunikat o błędzie podobny do następującego:
Uwaga
- Wiadomość 0, poziom 11, stan 0, wiersz 14
- Wystąpił poważny błąd bieżącego polecenia. Ewentualne wyniki należy odrzucić.
Ponadto w dzienniku błędów programu SQL Server jest rejestrowany komunikat o błędzie.
Rozwiązanie
Informacje o dodatku Service Pack dla programu SQL Server
Ten problem został rozwiązany w następującym dodatku Service Pack dla programu SQL Server:
Service Pack 2 dla programu SQL Server 2016
Service Pack 3 dla programu SQL Server 2014
Informacje o dodatkach Service Pack dla programu SQL Server:
Dodatki Service Pack są kumulatywne. Każdy nowy dodatek Service Pack zawiera wszystkie poprawki zawarte w poprzednich dodatkach Service Pack oraz nowe poprawki. Zalecamy stosowanie najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej dla danego dodatku Service Pack. Instalowanie poprzedniego dodatku Service Pack przed zainstalowaniem najnowszego dodatku Service Pack nie jest konieczne. Więcej informacji na temat najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej znajdziesz w tabeli 1 w następującym artykule.
Jak określić wersję, wersję i poziom aktualizacji programu SQL Server i jego składników
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 terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.