sql >> Databáze >  >> RDS >> Sqlserver

Automatizace tabulkového modelu zpracování databází Analysis Services (SSAS) na serveru SQL Server

Tento článek pojednává o automatizaci zpracování databáze Analysis Services v SQL Server. Automatizace je jedním z nejdůležitějších úkolů spravovaných správci databází nebo inženýry DevOps.

Navíc získáme přehled databází Analysis Services a toho, jak se liší od databází SQL Server.

Tento článek také zdůrazňuje důležitost automatizace úloh na serveru SQL Server pro minimalizaci chyb a maximalizaci produktivity, zejména při práci se složitými scénáři, jako jsou řešení business intelligence pro datové sklady.

O databázích Analysis Services

Podívejme se na databáze Analysis Services, abychom pochopili důležitost automatizace jejich zpracování v kontextu řešení business intelligence datových skladů a komplexních scénářů analýzy dat.

Co je to databáze Analysis Services?

Databáze Analysis Services je vysoce optimalizovaná databáze pro analýzu a reporting, která je často připravována a aktualizována jako součást řešení business intelligence pro datové sklady.

Jak se databáze Analysis Services liší od databází SQL Server

Databáze Analysis Services se liší od databáze SQL Server, protože funguje v jiném jazyce (DAX/MDX) a nabízí mnoho vestavěných funkcí business intelligence pro analýzu a vytváření sestav spolu s funkcemi, jako je dolování dat a časové zpravodajství.

Kolik typů databází Analysis Services existuje

Dva hlavní typy databází Analysis Services jsou následující:

  1. Vícerozměrný režim (krychle)
  2. Tabulkový režim (datový model)

Databáze Analysis Services je tedy buď nasazená krychle, nebo nasazený datový model. V obou formách však obsluhuje požadavky od jednoduchých až po komplexní scénáře analýzy dat a umožňuje na nich sestavovat sestavy.

Co je to SQL Server Analysis Services (SSAS)

SQL Server Analysis Services také známý jako SSAS je instance serveru Microsoft, která umožňuje hostování databází Analysis Services.

Co je to databáze Analysis Services v datovém skladu

Databáze analytických služeb v kontextu datového skladu je často konečným produktem, který může být vystaven firemním uživatelům pro samoobslužné hlášení a analýzu v reálném čase.

Jednoduše řečeno, jakmile data procházející různými transformacemi a fázemi datového skladu dorazí do databáze Analysis Services, jsou považována za připravená k analýze a vytváření sestav.

Co znamená Zpracování databáze Analysis Services?

Zpracování databáze Analysis Services znamená zkontrolovat zdroje pro nová data načíst ji do databáze. Databáze Analysis Services je třeba s časem aktualizovat, protože zdroje, ze kterých získávají data, často získávají nová data.

Proč bychom měli automatizovat zpracování databází analytických služeb

Další důležitou otázkou, kterou si můžeme položit, je tato:proč potřebujeme automatizovat zpracování databáze Analysis Services, když ji můžeme snadno spustit ručně?

Jednoduchá odpověď je, že potřebujeme zajistit, aby databáze Analysis Services byla aktuální bez ručního zásahu, čímž se ušetří čas i úsilí – zejména v kontextu řešení business intelligence datového skladu, když je projekt nasazen na živý server.

Automatizace zpracování databáze Analysis Services

Nyní si projdeme hlavní kroky automatizace zpracování databáze Azure Analysis Services.

Předpoklady

Tento článek předpokládá, že čtenáři znají základní koncepty řešení business intelligence datových skladů, včetně nasazení datových modelů na server SQL Analysis nebo Azure Analysis Services.

Protože vytváření a správa databází SQL a projektů analytických služeb je obvykle prací vývojáře, zaměříme se na zpracování a automatizaci zpracování databází Analysis Services nebo databází SSAS z pohledu DBA nebo DevOps inženýra.

Tento článek předpokládá následující:

  1. Ukázková databáze s názvem SQLDevBlogV5 zdroj již byl nastaven
  2. Tabulkový datový model využívající projekt Analysis Services již byl vytvořen
  3. Databáze Analysis Services s názvem SQLDevBlogTabularProject založený na tabulkovém modelu již byl nasazen

Upozorňujeme, že výše uvedená zdrojová databáze a databáze Analysis Services slouží pouze pro referenční účely, takže tyto názvy můžete změnit podle svých požadavků.

Nyní můžete přejít přímo na další nadpis. Pokud však chcete pokrýt perspektivu vývojáře i DBA, můžete výše uvedené kroky provést pomocí následující vzorové databáze:

-- 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

Dále vytvořte nové Analytické služby tabulkový projekt, importujte zdroj dat do modelu a nasaďte model na server SSAS:

Úroveň kompatibility

V tomto příkladu používáme SQL Server 2014 / SQL Server 2012 SP1 (1103) úroveň kompatibility pro datový model. Můžete však určit jinou úroveň kompatibility podle svých požadavků.

Připojte se k Analysis Services

Otevřete SSMS (SQL Server Management Studio) a připojte se k serveru Analysis zadáním svých přihlašovacích údajů:

Přejděte do databáze Analysis Services (nasazená)

Po navázání připojení rozbalte Databáze uzlu v Průzkumníku objektů a poté rozbalte nasazený uzel databáze Analysis Services kliknutím na plus ikona vedle:

Zpracujte databázi Analysis Services

Klikněte pravým tlačítkem na databázi Analysis Services a klikněte na Zpracovat databázi:

Ponechte výchozí režim zpracování a klikněte na OK :

Databáze Analysis Services byla úspěšně zpracována:

Skriptujte zpracování databáze

Dále musíme získat skript, který se používá ke zpracování databáze Analysis Services.

Jedním ze způsobů, jak automatizovat zpracování databáze Analysis Services, je naskriptovat úlohu, která provádí zpracování, a spustit ji jako úlohu SQL (krok) na serveru SQL Server.

Klikněte na Zpracovat databázi znovu, ale netiskněte OK tentokrát.

Ve Skriptu v rozbalovací nabídce v levé horní části okna klikněte na Skriptovat akci do nového okna dotazu jak je uvedeno níže:

Skript pro zpracování se otevře v novém okně nazvaném okno dotazu XML :

Spusťte skript databáze procesů

Stisknutím klávesy F5 spusťte skript XMLA, který zahájí zpracování databáze Analysis Services:

Kontrola SQL Server Agent

Nyní se připojte k databázovému stroji serveru SQL a ujistěte se, že je spuštěn agent SQL Server.

Nastavit SQL Server Agent Access

Další důležitou věcí je ujistit se, že účet, na kterém běží SQL Server Agent, má přístup k databázi Analysis Services.

V našem případě je na účtu NT Service\SQLAgent spuštěn SQL Server agent – ​​to znamená, že tento účet musí mít oprávnění ke zpracování databáze Analysis Services.

Připojte se k tabulkové instanci Analysis Services a přejděte do požadované databáze Analysis Services. Poté vytvořte novou roli Spouštěč databáze přidáním NT Service\SQLAgent účtu a poskytnutí Procesní databáze povolení:

Vezměte prosím na vědomí, že jedním ze standardních způsobů, jak toho dosáhnout, je vytvořit proxy a namapovat přihlašovací údaje k tomuto proxy. Podrobnosti tohoto procesu však přesahují rámec tohoto článku.

Zkopírujte skript XMLA pro zpracování databáze

Zkopírujte skript XMLA z okna SQL Analysis Services XMLA Query Window, které jsme použili ke zpracování databáze Analysis Services.

Vytvořit krok úlohy

Vraťte se do SQL Server Agent a vytvořte nový krok úlohy jako Process Analysis Services Database SQLDevBlogV5.

Vytvořte nový krok zadáním následujících informací a klikněte na OK :

Pamatujte, že musíte zadat název vašeho serveru a databáze a poté vložit skript, který jste zkopírovali z XMLA Query Editoru.

Zahájit úlohu

Klikněte pravým tlačítkem na úlohu a klikněte na Spustit úlohu v kroku…

Krok úlohy proběhne úspěšně, jak je znázorněno níže:

Naplánujte úlohu pro automatizaci zpracování

Dále naplánujte úlohu pro automatizaci zpracování vaší databáze Analysis Services.

Gratulujeme! Úspěšně jste zautomatizovali zpracování databáze Analysis Services, což šetří čas a úsilí vynaložené DBA nebo DevOps inženýrem na zpracování databáze pokaždé, když je potřeba aktualizovat data ze zdroje.

Co dělat

Nyní, když můžete automatizovat zpracování databáze Analysis Services, vyzkoušejte následující věci, abyste své dovednosti dále zlepšili:

  1. Naplánujte si úlohu zpracování databáze Analysis Services uvedenou v tomto článku tak, aby se spouštěla ​​denně a časem do vzorku přidávejte další data
  2. Implementujte úplné řešení provedením následujících kroků:
    1. Nastavení ukázkové databáze
    2. Vytvořte tabulkový datový model
    3. Importujte ukázkovou databázi do tabulkového datového modelu
    4. Nasazením tabulkového datového modelu vytvořte databázi Analysis Services
    5. Automatizujte zpracování databáze Analysis Services pomocí SQL Agent
  3. Připojte se k databázi Analysis Services prostřednictvím Excelu a zobrazte data poté, co je databáze Analysis Services automaticky aktualizována pomocí úlohy SQL

  1. Jak klíčová slova IMMUTABLE, STABLE a VOLATILE ovlivňují chování funkce?

  2. PostgreSQL drop omezení s neznámým názvem

  3. Může pokojová knihovna zkopírovat db ze složky aktiv?

  4. Jak získat PostgreSQL na VPS / Dedikovaný server