| Termin | Definicja |
|---|---|
| Błędy analizy SSAS | Błędy analizy SSAS to usterki dotyczące przetwarzania danych przez usługi analityczne SQL Server Analysis Services. Charakter błędów analizy SSASBłędy analizy SSAS dotyczą przetwarzania danych przez SQL Server Analysis Services, czyli silnik analityczny dostępny w dwóch głównych modelach: wielowymiarowym oraz tabelarycznym. Nie oznaczają jednej, konkretnej usterki. Mogą pojawić się podczas importowania danych ze źródła, budowania struktur modelu, przeliczania agregacji, odświeżania partycji, wykonywania zapytań MDX lub DAX, a także podczas wdrażania i uruchamiania modelu. Prawidłowa diagnoza wymaga ustalenia, na którym etapie przetwarzania wystąpił problem. W modelu wielowymiarowym przetwarzanie obejmuje między innymi wymiary, hierarchie, kostki, miary i partycje. W modelu tabelarycznym analizowane są tabele, kolumny, relacje, miary oraz dane przechowywane w pamięci silnika VertiPaq albo pobierane w trybie DirectQuery. Ten sam komunikat o niepowodzeniu odświeżania może mieć różne przyczyny zależnie od typu modelu, trybu magazynowania danych i wersji SQL Server Analysis Services. Źródło danych, poświadczenia i definicja modeluJedną z częstych przyczyn błędów jest brak poprawnego dostępu do relacyjnego źródła danych. SSAS może nie nawiązać połączenia, gdy zmieniła się nazwa serwera lub bazy, konto usługi nie ma wymaganych uprawnień, wygasło hasło, niedostępny jest sterownik albo definicja źródła wskazuje na nieistniejącą tabelę lub widok. Problem może wystąpić również wtedy, gdy zapytanie używane do pobierania danych odwołuje się do kolumny usuniętej lub zmienionej na typ niezgodny z oczekiwaniami modelu. W modelu tabelarycznym należy sprawdzić relacje między tabelami, zgodność typów danych oraz obecność wartości pustych i duplikatów w kolumnach używanych jako klucze. Nieprawidłowa relacja może powodować błędne wyniki agregacji, a nie tylko błąd techniczny. W modelu wielowymiarowym znaczenie mają także właściwości atrybutów wymiarów, klucze biznesowe, klucze członków oraz mapowanie kolumn podczas przetwarzania. Jeśli struktura źródła została zmieniona bez aktualizacji modelu, przetwarzanie może zakończyć się błędem walidacji albo błędnymi wartościami. Przetwarzanie partycji i diagnostyka komunikatówDuże modele SSAS są często dzielone na partycje, aby ograniczyć zakres odświeżania i zmniejszyć obciążenie. Błąd jednej partycji może zatrzymać całe zadanie przetwarzania, mimo że pozostałe partycje zawierają poprawne dane. Podczas analizy należy ustalić nazwę modelu, tabeli lub kostki, partycji oraz konkretnej operacji, która zakończyła się niepowodzeniem. Ważne są również informacje o czasie rozpoczęcia, czasie zakończenia i liczbie przetworzonych rekordów. Sam ogólny komunikat, taki jak „processing failed”, nie wystarcza do wskazania przyczyny. Trzeba odczytać komunikat wewnętrzny z historii przetwarzania, dzienników SSAS, narzędzia SQL Server Profiler albo rozszerzonych zdarzeń, jeśli zostały skonfigurowane. Warto odróżnić błąd dostępu do danych, błąd konwersji typu, naruszenie unikalności klucza, przekroczenie limitu pamięci, przerwanie połączenia oraz błąd wyrażenia obliczeniowego. Innego postępowania wymaga problem powtarzalny przy każdym odświeżeniu, a innego chwilowa niedostępność źródła lub przekroczenie limitu czasu zapytania. Sprawdzanie wyników po naprawie przetwarzaniaUsunięcie komunikatu o błędzie nie gwarantuje jeszcze poprawności modelu analitycznego. Po ponownym przetworzeniu należy sprawdzić, czy wszystkie wymagane partycje mają status zakończony powodzeniem, czy liczba rekordów odpowiada danym źródłowym oraz czy zakres dat został odświeżony zgodnie z założeniami. W modelu tabelarycznym trzeba zweryfikować miary DAX i filtry kontekstu, natomiast w modelu wielowymiarowym należy skontrolować miary, hierarchie, agregacje i zapytania MDX. Jeżeli błąd wynikał ze zmiany schematu bazy, sama ponowna próba przetwarzania zwykle nie wystarczy. Konieczne może być zaktualizowanie zapytania źródłowego, mapowania kolumn, relacji albo definicji partycji, a następnie wdrożenie zmodyfikowanego modelu. Przy problemach z pamięcią należy przeanalizować rozmiar danych, równoległość operacji, sposób partycjonowania i harmonogram odświeżania. Przy błędnych wynikach trzeba porównać agregaty SSAS z kontrolnymi zapytaniami do źródła, uwzględniając filtry, strefy czasowe, wartości NULL i sposób zaokrąglania. Taka weryfikacja pozwala odróżnić awarię samego przetwarzania od błędu logicznego w definicji modelu. |