Objawy
Gdy wykonujesz operację przetwarzania na wymiarze w SQL Server Analysis Services, a usługa jest obciążona pamięcią, wymiar nie może być przetwarzany, a dane mogą zostać uszkodzone.
Uwaga: Ten problem występuje w stosunkowo rzadkich przypadkach wyścigu, które nie są wszechobecne. W przypadku wystąpienia tego problemu mogą wystąpić niepoprawne relacje wymiarów lub błędy aktualizacji procesu.
Ten problem został zaobserwowany w następujących warunkach:
Użycie pamięci przez usługi Analysis Services przekracza górny limit pamięci skonfigurowany dla usługi podczas operacji przetwarzania, co powoduje, że usługi Analysis Services agresywnie czyszczą strony pamięci.
Podczas przetwarzania nie jest rejestrowany żaden błąd ani komunikat o problemie, a przetwarzanie wymiarów nie kończy się niepowodzeniem. Zamiast tego przetwarzanie zostaje zakończone, a uszkodzone dane są zapisywane w pliku wymiaru.
Problem najprawdopodobniej pojawi się w postaci nieprawidłowych relacji atrybutów wymiarów dla nowo dodanych elementów wymiaru. Na przykład: element w wymiarze Produkt jest wyświetlany w nieprawidłowej kategorii lub podkategorii.
Inny sposób, w jaki to uszkodzenie może się ujawnić: jako kolejna aktualizacja procesu w wymiarze zawierającym sztywne relacje atrybutów, przetwarzanie wymiaru kończy się niepowodzeniem z następującym komunikatem o błędzie:
Uwaga
Sztywne relacje między atrybutami nie mogą być zmieniane podczas przyrostowego przetwarzania wymiaru.
Uwaga Ten błąd może również wystąpić z uzasadnionych przyczyn, takich jak zmiany w źródłowym źródle danych. Jeśli jednak dane źródłowe w tabeli lub widoku służącym jako źródło wymiaru nie uległy zmianie, to może być przyczyną błędu.
Problem nie zawsze występuje, gdy serwer jest obciążony pamięcią, ale czasami występuje, jeśli wątek czyszczący eksmituje stronę danych dla nowo dodanych elementów członkowskich wymiaru przed ukończeniem przetwarzania wymiaru. Jest to stosunkowo rzadka sytuacja wyścigu między wątkiem przetwarzania wymiaru i wątkiem czyszczenia pamięci w usłudze Analysis Services.
Po zainstalowaniu tej poprawki problem przestanie występować, ale obiekty, których dotyczy problem, muszą zostać ponownie przetworzone w celu jego rozwiązania.
- Aktualizacja procesu w wymiarze, którego dotyczy problem, gdy serwer nie jest obciążony pamięcią, naprawi uszkodzenie spowodowane tym problemem we wszystkich elastycznych relacjach. W przypadku wymiaru, którego dotyczy problem, który ma co najmniej jedną sztywną relację atrybutów, przetwarzanie zakończy się niepowodzeniem z błędem wspomnianym powyżej.
- Aby rozwiązać ten problem dla wymiarów zawierających sztywne relacje, zmień relacje atrybutów dla odpowiedniego wymiaru na serwerze i uruchom ProcessUpdate. Relację atrybutu można następnie zmienić z powrotem na sztywną, a indeksy dla grup miar używających wymiaru można odbudować.
Rozwiązanie
Ten problem został po raz pierwszy rozwiązany w następujących aktualizacjach zbiorczych dla programu SQL Server:
Aktualizacja zbiorcza 14 dla programu SQL Server 2014
Aktualizacja zbiorcza 4 dla programu SQL Server 2012 z dodatkiem Service Pack 3
Aktualizacja skumulowana 13 dla programu SQL Server 2012 z dodatkiem SP2
Aktualizacja skumulowana 7 dla programu SQL Server 2014 z dodatkiem Service Pack 1
Informacje o aktualizacjach zbiorczych dla programu SQL Server
Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:
Najnowsza aktualizacja zbiorcza dla programu SQL Server 2014
Najnowsza aktualizacja zbiorcza dla programu SQL Server 2012 z dodatkiem SP3
Najnowsza aktualizacja zbiorcza dla programu SQL Server 2012 z dodatkiem SP2
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.