Symptomy
W środowisku programu Microsoft SQL Server 2016 można przetwarzać wiele partycji tabeli równolegle. Po prześledzeniu postępu zauważysz zdarzenie ponownego kodowania dla co najmniej jednej kolumny. W takiej sytuacji operacja przetwarzania może zakończyć się niepowodzeniem z błędem wyjątku. Czasami przetwarzanie może zostać ukończone pomyślnie, ale kolejne kwerendy kończą się niepowodzeniem, a następnie występują błędy wyjątku podobne do następujących:
Wystąpił nieoczekiwany wyjątek. Wystąpił nieoczekiwany wyjątek. (Microsoft SQL Server 2016 Analysis Services) Lokalizacja programu: w witrynie Microsoft. AnalysisServices. AdomdClient. AdomdConnection. XmlaClientProvider. Microsoft. AnalysisServices. AdomdClient. IExecuteProvider. ExecuteTabular (zachowanie CommandBehavior, ICommandContentProvider contentProvider, AdomdPropertyCollection commandProperties, IDataParameterCollection) w witrynie Microsoft. AnalysisServices. AdomdClient. AdomdCommand. ExecuteReader. CommandBehavior. AnalysisServices. AdomdClient. AdomdCommand. ExecuteReader. ReportingServices ()
Uwaga Czasami ten problem występuje po wykonaniu przetwarzania i wykonaniu zapytań dotyczących przetworzonych danych.
Rozwiązanie
Informacje o aktualizacji zbiorczej
Poprawka dotycząca tego problemu jest dostępna w następującej zbiorczej aktualizacji dla programu SQL Server:
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:
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2016
Obejście
Aby obejść ten problem, wykonaj dowolną z następujących czynności:
-
Ustal, które kolumny wymagają ponownego kodowania, i użyj fałszywej partycji na początku, aby wygenerować wartości, które spowodują wymuszenie kodowania skrótów w fazie wykrywania. Wymagana jest partycja, która jest używana do wybrania kodowania, zanim rozpocznie się równoległość. Po przetworzeniu wszystkich partycji możesz wyczyścić lub usunąć fałszywą partycję.
-
Użyj przetwarzania szeregowego zamiast równoległych procesów przetwarzania.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Więcej informacji
W przypadku równoległego przetwarzania partycji tabelarycznych występuje następująca logika:
-
Za pomocą danych z jednej partycji możesz określić kodowanie (wartość lub mieszanie) kolumn.
-
Po wybraniu kodowania inne partycje mogą zacząć być przetwarzane równolegle.
-
W przypadku wybrania opcji kodowania wartości i sposobu pobierania wierszy może zostać napotkana wartość, która nie mieści się w schemacie kodowania wartości. W takim przypadku cała kolumna musi być ponownie zakodowana w schemacie kodowania skrótów.
-
Ta operacja ponownego kodowania (konwertowanie kodowania wartości na kodowanie skrótu) napotyka problem, gdy inne partycje są przetwarzane w tym samym czasie.
Informacje
Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.