Automatische Updates eines SQL Server Analysis Services (SSAS)

Thomas Dierl - 01.10.2020

Automatische Updates eines SQL Server Analysis Services (SSAS)

Wie macht man große Datenmengen in einem Unternehmen rasch zugänglich? Man lädt die Daten in einen Cube in einem SQL Server Analysis Service (SSAS). Die Herausforderung dabei ist es, die Daten für die User aktuell zu halten. Welche Wege es dafür gibt und wo Anwendungstipps zu finden sind, erfahren Sie in diesem Artikel.

Live-Query vs. InMemory Datenbanken

Es gibt zwei Formen von Datenbanken: Live-Query und InMemory. Sie unterscheiden sich in der Art und Weise, wie sich die darin liegenden Daten aktualisieren.

  • Live-Query Datenbanken: Eine Aktualisierung ist nicht notwendig, da die Daten immer erst dann aus dem Quellsystem geholt werden, wenn der User sie gerade benötigt. Dies hat zwar den Nachteil, dass solche Queries meist langsamer sind - dafür jedoch stets aktuell.

  • InMemory Datenbanken: In dieser Art von Datenbank liegen die Daten im SSAS ab. Sie aktualisieren sich nur, wenn das von außen angestoßen wird. Die Aktualisierung der Daten im SSAS kann auf verschiedene Arten erfolgen. Im Folgenden erfahren Sie von deren jeweiligen Vor- und Nachteilen.

3 Wege zur Aktualisierung der Daten im SSAS

Je nach Infrastruktur und Anforderungen lassen sich die Updates von verschiedenen Stellen aus anstoßen.

  • als Wartungsaufgabe im SQL Server
  • von der Kommandozeile (PowerShell)
  • als SQL Statement

In allen drei Fällen ist es wesentlich, dass der ausführende User auch die Berechtigung zur Ausführung des Updates auf dem Cube hat.

1. Wartungsaufgabe im SQL Server

Am einfachsten ist es, das Update mittels SQL Integration Services als Wartungsaufgabe im SQL Server selbst anzulegen. Dies kann im SQL Server Management Studio erfolgen. Wie Sie das genau machen, erfahren Sie von “bi insight”.

2. Kommandozeile (PowerShell)

Eine andere Möglichkeit zum Anstoßen eines Updates im SSAS ist über PowerShell. Microsoft bietet für die Verarbeitung eines Cubes fast alle Funktionen auch in der Kommandozeile an. Dies kann als regelmäßiger Batch-Job ausgeführt werden oder auch von jedem dazu berechtigten User. stimmt die Info so?

Kommando zum ad-hoch Update mittles PowerShell

Invoke-ProcessDimension-Name Account -Database AdventureWorksDW2014MD -ProcessType ProcessFull

Eine detaillierte Beschreibung zu den Möglichkeiten der Aktualisierung und Ausführung finden Sie unter MSSQUL Tipps.

3. SQL Server

Es besteht zudem die Option, das Update eines Würfels durch ein SQL Statement auszulösen.

Befehl zum Update mittels SQL

update cube <cubename>

Eine detaillierte Dokumentation zum Update mittels SQL Statement liefert Microsoft.

Welche SSAS-Aktualisierung passt zu mir? Tipps zur Entscheidungshilfe

Welche der drei Optionen ist nun die passende für Sie? Klarheit bringt das Beachten der folgenden beiden Aspekte:

  • Häufigkeit des Updates: Wie aktuell müssen die Daten sein? Je nach dem entscheidet sich, wie oft ein Update erfolgen sollte.
  • Ressourcen: Wie viel RAM und Festplattenplatz stehen zur Verfügung? Jedes Update verlangt die entsprechende Ressourcen. Überlegen Sie sich diese vorab.