Dotyczy
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2019 on Windows

Symptomy

Załóżmy, że uruchamiasz zapytanie z funkcjami agregowania i sprzężeniami (na przykład: COUNT WITH GROUP BY) w tabeli z indeksem filtrowanego w programie SQL Server, który jest używany jako serwer zdalny, a użytkownik nie ma uprawnienia DO DEFINICJI WIDOKU. W tym scenariuszu serwer połączony uznaje filtrowany indeks za pełny unikatowy indeks, a zapytanie zwraca niepoprawne wyniki. 

Więcej informacji

Po uruchomieniu zapytania zdalnego proces serwera połączonego używa metadanych indeksu w celu zoptymalizowania zapytania. Jeśli nie masz uprawnienia VIEW DEFINITION dla bazy danych, która jest pytana, metadane nie wskazują, że indeks jest indeksem filtrowany, a optymalizator zapytań uznaje indeks za pełny unikatowy indeks. Ta poprawka poprawia metadane indeksu dla filtrowanego indeksu, jeśli nie masz uprawnienia DO WYŚWIETLANIA DEFINICJI przez optymalizator zapytań.

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Rozwiązanie

Ten problem został rozwiązany w następujących aktualizacjach skumulowanych programu SQL Server:

Uwaga:Ta poprawka powinna zostać zastosowana do zdalnego serwera połączonego.

Informacje o aktualizacjach skumulowanych dla programu SQL Server:

Każda nowa aktualizacja skumulowana dla programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej aktualizacji skumulowanej. Zapoznaj się z najnowszymi aktualizacjami skumulowanymi dla programu SQL Server:

Obejście

Aby omiąć ten problem, wypróbuj jedną z następujących metod:

  • Usuń indeks filtrowany.

  • Udzielanie definicji widoku użytkownikowi. Przykład: NADAJ DEFINICJĘ WIDOKU TEST_USER;

Informacje

Poznaj terminy używane przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.