W tym artykule omówiono automatyzację przetwarzania bazy danych usług Analysis Services w programie SQL Server. Automatyzacja jest jednym z najważniejszych zadań zarządzanych przez administratorów baz danych lub inżynierów DevOps.
Dodatkowo uzyskamy przegląd baz danych Analysis Services i tego, jak różnią się one od baz danych SQL Server.
W tym artykule podkreślono również znaczenie automatyzacji zadań w SQL Server, aby zminimalizować błędy i zmaksymalizować produktywność, szczególnie podczas pracy ze złożonymi scenariuszami, takimi jak rozwiązania analizy biznesowej hurtowni danych.
Informacje o bazach danych usług analitycznych
Rzućmy okiem na bazy danych usług Analysis Services, abyśmy mogli zrozumieć znaczenie automatyzacji ich przetwarzania w kontekście rozwiązań analizy biznesowej hurtowni danych i złożonych scenariuszy analizy danych.
Co to jest baza danych usług analitycznych?
Baza danych Analysis Services to wysoce zoptymalizowana baza danych do analiz i raportowania, która jest często przygotowywana i aktualizowana w ramach rozwiązań Business Intelligence hurtowni danych.
Czym bazy danych usług Analysis Services różnią się od baz danych SQL Server
Baza danych Analysis Services różni się od bazy danych SQL Server, ponieważ działa w innym języku (DAX/MDX) i oferuje wiele wbudowanych funkcji analizy biznesowej do analizy i raportowania, a także funkcje takie jak eksploracja danych i analiza czasu.
Ile jest rodzajów baz danych usług analitycznych
Dwa główne typy baz danych usług Analysis Services to:
- Tryb wielowymiarowy (kostka)
- Tryb tabelaryczny (model danych)
Tak więc baza danych usług Analysis Services jest albo wdrożoną kostką, albo wdrożonym modelem danych. Ale w obu formach obsługuje żądania od prostych do złożonych scenariuszy analizy danych i umożliwia budowanie na ich podstawie raportów.
Co to są usługi SQL Server Analysis Services (SSAS)
Usługi SQL Server Analysis Services, znane również jako SSAS, to instancja serwera Microsoft, która umożliwia hostowanie baz danych usług Analysis Services.
Co to jest baza danych usług analitycznych w hurtowni danych
Baza danych usług analitycznych w kontekście hurtowni danych jest często produktem końcowym, który może być udostępniony użytkownikom biznesowym w celu samodzielnego raportowania i analizy w czasie rzeczywistym.
W prostych słowach, gdy dane przechodzące różne transformacje i etapy hurtowni danych dotrą do bazy danych Analysis Services, są one uważane za gotowe do analizy i raportowania.
Co oznacza przetwarzanie bazy danych usług analitycznych?
Przetwarzanie bazy danych usług Analysis Services oznacza sprawdzenie źródeł nowych danych, ładowanie ich do bazy danych. Bazy danych usług Analysis Services muszą być aktualizowane z czasem, ponieważ źródła, z których pobierają dane, często otrzymują nowe dane.
Dlaczego powinniśmy automatyzować przetwarzanie baz danych usług analitycznych
Kolejne ważne pytanie, które można zadać, brzmi:dlaczego musimy automatyzować przetwarzanie bazy danych usług Analysis Services, skoro możemy ją łatwo uruchomić ręcznie?
Prosta odpowiedź brzmi:musimy zapewnić, że baza danych Analysis Services jest aktualna bez ręcznej interwencji, oszczędzając w ten sposób zarówno czas, jak i wysiłek – szczególnie w kontekście rozwiązania Business Intelligence w hurtowni danych, gdy projekt jest wdrażany na aktywnym serwerze.
Automatyzacja przetwarzania bazy danych usług analitycznych
Przejdźmy teraz przez główne kroki automatyzacji przetwarzania bazy danych Azure Analysis Services.
Wymagania wstępne
W tym artykule założono, że czytelnicy są zaznajomieni z podstawowymi koncepcjami rozwiązań analizy biznesowej hurtowni danych, w tym wdrażania modeli danych na serwerze SQL Analysis lub Azure Analysis Services.
Ponieważ tworzenie i zarządzanie bazami danych SQL i projektami usług analitycznych jest zwykle zadaniem programisty, będziemy koncentrować się na przetwarzaniu i automatyzacji przetwarzania baz danych Analysis Services lub baz danych SSAS z perspektywy DBA lub inżyniera DevOps.
W tym artykule założono, że:
- Przykładowa baza danych o nazwie SQLDevBlogV5 źródło zostało już skonfigurowane
- Tabelaryczny model danych wykorzystujący projekt usług analitycznych został już utworzony
- Baza danych Analysis Services o nazwie SQLDevBlogTabularProject na podstawie modelu tabelarycznego został już wdrożony
Należy pamiętać, że źródłowa baza danych i baza danych usług Analysis Services wymienione powyżej służą wyłącznie do celów referencyjnych, więc możesz zmienić te nazwy zgodnie ze swoimi wymaganiami.
Możesz teraz przejść bezpośrednio do następnego nagłówka. Jeśli jednak chcesz objąć zarówno perspektywę programisty, jak i DBA, możesz wykonać powyższe kroki, korzystając z następującej przykładowej bazy danych:
-- Create the sample database (SQLDevBlogV5) CREATE DATABASE SQLDevBlogV5; GO USE SQLDevBlogV5; -- (1) Create the Article table in the sample database CREATE TABLE Article ( ArticleId INT PRIMARY KEY IDENTITY (1, 1) ,Category VARCHAR(50) ,Author VARCHAR(50) ,Title VARCHAR(150) ,Published DATETIME2 ,Notes VARCHAR(400) ) GO -- (2) Populating the Article table SET IDENTITY_INSERT [dbo].[Article] ON INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (1, N'Development', N'Atif', N'Introduction to SQL Server Analysis Services (SSAS)', N'2019-01-01 00:00:00', NULL) INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (2, N'Testing', N'Peter', N'Processing SSAS database', N'2019-01-10 00:00:00', NULL) INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (3, N'DLM', N'Sadaf', N'Automating Analysis Services Database Processing', N'2019-01-20 00:00:00', NULL) SET IDENTITY_INSERT [dbo].[Article] OFF
Następnie utwórz nowe usługi analityczne projektu tabelarycznego, zaimportuj źródło danych do modelu i wdróż model na serwerze SSAS:
Poziom zgodności
W tym przykładzie używamy SQL Server 2014 / SQL Server 2012 SP1 (1103) poziom zgodności dla modelu danych. Możesz jednak określić inny poziom zgodności zgodnie z własnymi wymaganiami.
Połącz się z usługami analitycznymi
Otwórz SSMS (SQL Server Management Studio) i połącz się z serwerem analizy, wprowadzając swoje dane uwierzytelniające:
Przejdź do bazy danych usług analitycznych (wdrożona)
Po nawiązaniu połączenia rozwiń Bazy danych węzeł w Eksploratorze obiektów a następnie rozwiń wdrożony węzeł bazy danych usług Analysis Services, klikając plus ikona obok:
Przetwarzaj bazę danych usług analitycznych
Kliknij prawym przyciskiem myszy bazę danych usług Analysis Services i kliknij opcję Proces bazy danych:
Zachowaj domyślny tryb przetwarzania i kliknij OK :
Baza danych usług Analysis Services została pomyślnie przetworzona:
Skrypt przetwarzania bazy danych
Następnie musimy pobrać skrypt, który jest używany do przetwarzania bazy danych usług Analysis Services.
Jednym ze sposobów na zautomatyzowanie przetwarzania bazy danych Analysis Services jest napisanie skryptu zadania, które wykonuje przetwarzanie i uruchomienie go jako zadania SQL (krok) w SQL Server.
Kliknij Przetwarzaj bazę danych ponownie, ale nie naciskaj OK tym razem.
W Skrypcie w menu rozwijanym w lewym górnym rogu okna kliknij opcję Akcja skryptu do nowego okna zapytania jak pokazano poniżej:
Skrypt przetwarzania zostanie otwarty w nowym oknie o nazwie okno zapytania XMLA :
Uruchom skrypt bazy danych procesów
Naciśnij klawisz F5, aby uruchomić skrypt XMLA, który rozpocznie przetwarzanie bazy danych usług Analysis Services:
Sprawdzenie agenta serwera SQL
Teraz połącz się z silnikiem bazy danych SQL Server i upewnij się, że agent SQL Server jest uruchomiony.
Skonfiguruj dostęp agenta SQL Server
Inną ważną rzeczą jest upewnienie się, że konto, na którym działa agent SQL Server, ma dostęp do bazy danych Analysis Services.
W naszym przypadku na koncie NT Service\SQLAgent działa agent SQL Server – oznacza to, że to konto musi mieć uprawnienia do przetwarzania bazy danych Analysis Services.
Połącz się z wystąpieniem tabelarycznym usług Analysis Services i przejdź do żądanej bazy danych usług Analysis Services. Następnie utwórz nową rolę Database Runner dodając NT Service\SQLAgent konto i nadanie mu Bazy danych procesów pozwolenie:
Należy pamiętać, że jednym ze standardowych sposobów osiągnięcia tego jest utworzenie serwera proxy i zmapowanie poświadczeń do tego serwera proxy. Jednak szczegóły tego procesu wykraczają poza zakres tego artykułu.
Skopiuj skrypt XMLA do przetwarzania bazy danych
Skopiuj skrypt XMLA z okna zapytań XMLA usług SQL Analysis Services, którego użyliśmy do przetworzenia bazy danych usług Analysis Services.
Utwórz etap pracy
Wróć do SQL Server Agent i utwórz nowy krok zadania jako Process Analysis Services Database SQLDevBlogV5.
Utwórz nowy krok, podając następujące informacje i kliknij OK :
Pamiętaj, że musisz wpisać nazwę swojego serwera i bazy danych, a następnie wkleić skrypt skopiowany z edytora zapytań XMLA.
Rozpocznij pracę
Kliknij zadanie prawym przyciskiem myszy i kliknij Rozpocznij zadanie w kroku…
Etap zadania zostanie pomyślnie uruchomiony, jak pokazano poniżej:
Zaplanuj zadanie, aby zautomatyzować przetwarzanie
Następnie zaplanuj zadanie, aby zautomatyzować przetwarzanie bazy danych usług Analysis Services.
Gratulacje! Udało Ci się zautomatyzować przetwarzanie bazy danych w usługach Analysis Services, oszczędzając czas i wysiłek poświęcony przez DBA lub inżyniera DevOps na przetwarzanie bazy danych za każdym razem, gdy dane wymagają aktualizacji ze źródła.
Rzeczy do zrobienia
Teraz, gdy możesz zautomatyzować przetwarzanie bazy danych usług Analysis Services, spróbuj następujących rzeczy, aby jeszcze bardziej poprawić swoje umiejętności:
- Zaplanuj zadanie przetwarzania bazy danych usług Analysis Services, o którym mowa w tym artykule, aby było uruchamiane codziennie i z czasem dodawaj więcej danych do próbki
- Zaimplementuj kompletne rozwiązanie, wykonując następujące czynności:
- Skonfiguruj przykładową bazę danych
- Utwórz tabelaryczny model danych
- Importuj przykładową bazę danych do tabelarycznego modelu danych
- Wdróż tabelaryczny model danych, aby utworzyć bazę danych usług Analysis Services
- Automatyzacja przetwarzania bazy danych usług Analysis Services za pomocą agenta SQL
- Połącz się z bazą danych usług Analysis Services za pomocą programu Excel, aby wyświetlić dane po automatycznej aktualizacji bazy danych usług Analysis Services za pomocą zadania SQL