| Termin | Definicja |
|---|---|
| API do SSAS | API do SSAS to interfejs umożliwiający programową obsługę usług analitycznych SQL Server Analysis Services. Architektura API usług SQL Server Analysis ServicesAPI do SQL Server Analysis Services (SSAS) pozwala aplikacji komunikować się z modelem analitycznym bez korzystania z graficznego środowiska SQL Server Management Studio. Podstawowym mechanizmem komunikacji usług SSAS jest XML for Analysis (XMLA). Jest to protokół oparty na komunikatach XML przesyłanych przez interfejs usług analitycznych. XMLA obsługuje między innymi wykonywanie poleceń administracyjnych, przetwarzanie obiektów modelu, pobieranie metadanych oraz uruchamianie zapytań. SSAS występuje w dwóch głównych trybach modelowania: wielowymiarowym oraz tabelarycznym. Sposób użycia API zależy od tego, który model działa na serwerze. Model wielowymiarowy wykorzystuje kostki, wymiary i miary, natomiast model tabelaryczny składa się z tabel, kolumn, relacji, hierarchii i miar. W obu przypadkach klient musi znać nazwę instancji lub punktu końcowego, nazwę bazy SSAS oraz uprawnienia wymagane do wykonania konkretnej operacji. Biblioteki programistyczne i operacje na modeluW aplikacjach .NET do zarządzania obiektami SSAS można używać biblioteki Analysis Management Objects (AMO). AMO udostępnia klasy odpowiadające elementom serwera, bazy danych i modelu. Program może za jej pomocą odczytać metadane, utworzyć lub zmienić obiekty, wywołać przetwarzanie oraz monitorować stan operacji. Dla modeli tabelarycznych stosowany jest także Tabular Object Model (TOM), który odwzorowuje strukturę modelu tabelarycznego i pozwala programowo pracować z tabelami, kolumnami, relacjami, partycjami oraz miarami. Do odczytu danych z SSAS służy między innymi biblioteka ADOMD.NET. Klient może otworzyć połączenie do bazy analitycznej, wysłać zapytanie i odczytać wynik w postaci zestawu komórek lub wierszy. W zależności od modelu i scenariusza stosuje się język MDX albo DAX. MDX jest językiem zapytań używanym przede wszystkim z modelami wielowymiarowymi, a DAX jest językiem obliczeń i zapytań związanym z modelami tabelarycznymi. Biblioteka kliencka nie zastępuje uprawnień serwera: samo wysłanie poprawnego zapytania nie pozwala odczytać obiektów, do których konto nie ma dostępu. XMLA, TMSL i przetwarzanie danych w SSASW modelach tabelarycznych administrację można wykonywać przy użyciu Tabular Model Scripting Language (TMSL). TMSL zapisuje definicję polecenia w formacie JSON, a następnie jest wykonywany przez interfejs XMLA. Polecenia TMSL mogą dotyczyć między innymi utworzenia bazy, tabeli lub partycji, zmiany właściwości obiektu, przetworzenia tabeli albo przetworzenia całego modelu. TMSL opisuje operacje na modelu tabelarycznym; nie jest językiem zapytań zwracających dane analityczne. Przetwarzanie w SSAS aktualizuje dane przechowywane w strukturach modelu na podstawie źródeł skonfigurowanych dla tabel, partycji lub obiektów wielowymiarowych. API może uruchomić przetwarzanie pełne albo ograniczone do wskazanego obiektu, zależnie od możliwości danego modelu i konfiguracji. Podczas automatyzacji trzeba rozróżnić polecenie zmieniające definicję modelu od polecenia odświeżającego dane. Niewłaściwe wskazanie obiektu, brak zależności lub przerwanie operacji może pozostawić model bez aktualnych danych, dlatego klient powinien sprawdzać odpowiedź XMLA i stan zakończonego zadania. Bezpieczna diagnostyka połączenia z SSASDiagnozowanie integracji z SSAS zaczyna się od sprawdzenia adresu serwera, nazwy instancji, nazwy bazy analitycznej oraz trybu uwierzytelniania. W środowisku Windows dostęp może być kontrolowany przez uprawnienia konta domenowego, a role SSAS określają zakres operacji na bazie i modelu. Błąd połączenia może wynikać z niedostępnej instancji, nieprawidłowego ciągu połączenia, blokady sieciowej albo braku uprawnień. Inny typ problemu występuje wtedy, gdy połączenie działa, lecz zapytanie odwołuje się do nieistniejącej tabeli, miary, hierarchii lub kolumny. W praktyce warto rejestrować czas rozpoczęcia i zakończenia operacji, nazwę użytego modelu, rodzaj polecenia oraz pełny komunikat błędu zwrócony przez klienta, bez ukrywania informacji potrzebnych do rozpoznania problemu. Przy zapytaniach należy kontrolować czas wykonania i liczbę zwracanych danych, ponieważ koszt obliczeń zależy od modelu, filtrów i relacji. Po zmianach administracyjnych trzeba potwierdzić, że model jest dostępny, przetwarzanie zakończyło się pomyślnie, a zapytanie testowe zwraca oczekiwane kolumny i wartości. Taka weryfikacja pozwala odróżnić awarię samego API od błędu definicji modelu albo nieaktualnych danych w SSAS. |