Sage 200 BI Installationsanleitung Cubes & Datawarehouses Manuelle Installation ohne SRSS/Sage Cockpit Version 2014.0 11.11.2014 Inhaltsverzeichnis Installationsanleitung Cubes & Datawarehouse Inhaltsverzeichnis 2 1.0 1.1 Einführung Über dieses Dokument 3 3 2.0 2.1 2.2 Die Installation vorbereiten Nötige Software-Komponenten (Prerequisites) System- und Installationsübersicht 4 4 4 3.0 3.1 Installationsanleitung SQL-Package auf Sage 200-Datenbank generieren Cubes erstellen und konfigurieren Berechtigungen bei DWH- und CubeDatenbanken einrichten ETL-Job zur automatischen Datenaufbereitung erstellen Datawarehouses laden und Cube verarbeiten E-Mail-Benachrichtigung 5 3.2 3.3 3.4 3.5 3.6 Sage 200 BI Installationsanleitung Cubes & Datawarehouses 5 6 8 9 12 12 Seite 2 von 12 1.0 Einführung Sage 200 BI: Cubes & Datawarehouse 1.1 Über dieses Dokument Diese Anleitung ist eine Schritt-für-Schritt-Anleitung wie die Sage 200 Data-Cubes und die dazugehörigen Datawarehouses (DWH) per SQL-Skript installiert werden können. Die Anleitung ist an Sage 200-Consultants gerichtet. Mit dieser Anleitung wird die Weboberfläche „Sage Cockpit“ deren SRSSAuswertungen nicht installiert. Für die Installation von Sage Cockpit ist das entsprechende Installationspaket gemäss separater Installationsanleitung zu installieren. Bitte beachten Sie, dass die Installation bei anderen SQL-Server-Versionen oder bei anderen Netzwerken (Benutzerberechtigungen) von dieser Anleitung abweichen kann. – Ein Basiswissen über SQL-Server und über die Sicherheitskonzepte in SQL Server und Analysis Server sind daher vorausgesetzt. In dieser Anleitung sind folgende Systeme eingesetzt: Windows Server 2012 R2 (64Bit) (Deutsch) Der Servername in dem Beispiel dieser Anleitung ist „QS15“. SQL Server 2012 Standard Edition SP2 (Deutsch) Die SQL-Server Instanz heisst „QS15“. Der Admin-Benutzer ist „QS15\user_admin“ Verwendeter Name der operativen Sage 200-Datenbank „Sage200_DM“ Sage 200 BI Installationsanleitung Cubes & Datawarehouses Seite 3 von 12 2.0 Die Installation vorbereiten Aufgaben vor der Installation 2.1 Nötige Software-Komponenten (Prerequisites) Überprüfen Sie, dass folgende Komponenten vorgängig installiert und eingerichtet sind: 1. Microsoft SQL Server installiert, konfiguriert und läuft: a. Database Engine Services b. Analysis Services 2. Sage 200-Lizenzserver (Safenet Sentinel) im gleichen LAN installiert und läuft Voraussetzung für die Installation ist lediglich eine lauffähige Instanz von SQL Server mit Analysis Services (SSAS) nötig. Im Gegensatz zu Sage Cockpit ist daher kein SQL Server Reporting Services (SSRS) und IIS (Internet Information Services) nötig. 2.2 System- und Installationsübersicht Mit dieser Installationsanleitung werden folgende Komponenten installiert und konfiguriert: 1. 1 DWH pro Modul (Finanz, Personal, Auftrag) 2. 1 Cube pro Modul (Finanz, Personal, Auftrag) 3. ETL-Job für das Laden der DWHs und Berechnung Cubes (SQL-Prozeduren) Zu jedem verfügbaren Modul (Auftrag, Finanz, Personal) werden folgende Skript-Files ausgeliefert: 1. SQL-Package (.sql-Dateien) zur Erstellung aller Prozeduren, welche zur Erstellung und Befüllung des jeweiligen Datawarehouses benötigt werden. Die Dateien sind im Ordner SupportFiles\ETL-Prozeduren der Installationsdateien zu finden. 2. Cubes (Analysis Services Skript als .xmla-Datei) zur Erstellung des jeweiligen Data-Cubes. Die XMLA-Skript Dateien zur Erstellung der aktuellsten Cubes sind im Ordner SupportFiles\XMLA-Files abgelegt. Sage 200 BI Installationsanleitung Cubes & Datawarehouses Seite 4 von 12 3.0 Installationsanleitung Cubes & Datawarehouses 3.1 SQL-Package auf Sage 200-Datenbank generieren Die aktuellsten ETL-Prozeduren für alle drei Module sind im Ordner SupportFiles\ETLProzeduren der Installationsdateien zu finden. Für jedes Modul gibt es ein SQL-Package, welches die aktuellsten SQL-Prozeduren in die Sage 200-Datenbank lädt. Achtung: Beim Ersetzen der eventuell bereits bestehenden Prozeduren gehen allfällige individuelle Anpassungen verloren! Aus diesem Grund sollten die bestehenden Prozeduren immer aus der Datenbank in einer Datei gesichert werden. Wir empfehlen allen Kunden grundsätzlich auf individuelle Anpassungen des Cubes und Prozeduren zu verzichten. Vorgehen: 1. Falls entgegen unserer Empfehlung individuell angepasste SQL-Prozeduren bestehen, sind diese gespeicherten Prozeduren mit dem SQL Management Studio aus der Datenbank auszulesen und als SQL-Datei zu sichern. Damit die können die indiv. Anpassung nach dieser Installation wieder nachimplementiert werden. 2. SQL-Skripts für die gewünschte Module im SQL Management Studio öffnen: Auftrag: SupportFiles\ETL-Prozeduren\ProcedurePackage_Auftrag_2009_0+.sql Finanz: SupportFiles\ETL-Prozeduren\Procedure-Package_Finanz.sql Personal: SupportFiles\ETL-Prozeduren\ Procedure-Package_Personal.sql 3. Default-Werte für die Parameter in allen Prozeduren setzen. Bitte prüfen und ändern Sie einzeln alle Parameterwerte und deren Beschreibung sorgfältig. 4. SQL-Packages sind einzeln mit F5 auf der Sage 200-Datenbank auszuführen. Die Prozeduren werden auf die Sage 200-Datenbank generiert. Die DWH-Datenbanken werden auf dem SQL-Server erstellt. Prüfen Sie die Ausgabemeldungen auf Fehlermeldungen. 5. Geänderte Skript-Package-Dateien in der Projektablage sichern. Sage 200 BI Installationsanleitung Cubes & Datawarehouses Seite 5 von 12 3.2 Cubes erstellen und konfigurieren Die XMLA-Skript Dateien zur Erstellung der aktuellsten Cubes sind im Ordner SupportFiles\XMLA-Files abgelegt. Für jeden Cube ist ein XMLA-Skript vorhanden, welches vor der Ausführung im SQL-Management Studio (verbinden auf Analysis Server) geringfügig angepasst werden muss. Wichtige Hinweise bei einem Update: Die bereits bestehenden Cubes einer älteren BI-Version werden ersetzt. Allfällige individuelle Anpassungen und Sicherheitseinstellungen (Rollen) gehen verloren. Die bestehenden Cubes sind deshalb vorgängig per Backup zu sichern: Die Rollen und deren Member können als Skript aus dem bestehenden Cube ausgelesen, und im neuen Cube wieder eingelesen werden. Die eventuell hinterlegten Dimension-Security Einstellungen in den Rollen müssen aber in jedem Fall neu gesetzt werden. Vorgehen: 1. Nur bei einem Update von einer älteren BI-Version: Bestehende Analysis Services Datenbanken per Backup sichern Rollen in bestehenden Analysis-Services Datenbanken auslesen via „Skript für Rolle als…“ 2. Jedes XMLA-Skript (pro Modul) im SQL Server Management Studio öffnen. Auftrag: Finanz: Personal: SupportFiles\XMLA-Files\Auftrag\Cube_Auftrag.xmla SupportFiles\XMLA-Files\Finanz\Cube_Finanz.xmla SupportFiles\XMLA-Files\Personal\Cube_Personal.xmla 3. Folgende Tags mit dem gewünschten Cube-Namen versehen werden: <DatabaseID> <ID> <Name> Die zu ändernden Tags befinden sich in den ersten zehn Zeilen des Skripts: Wichtig: Es dürfen keine anderen Tags geändert werden! Hinweis: Dies ist der Name des Cubes, nicht des DWHs. Aus Kompatibilitätsgründen wird hier weiterhin „DWH_Simultan_Auftrag_ZZ“ vorgeschlagen. 4. Jedes Skript einzeln ausführen (F5) und prüfen dass die Abfrage erfolgreich ausgeführt wird. Der Cube wird pro Modul erstellt. 5. Jedes Skript mit den angepassten Werten in die Projektablage speichern. 6. Nur bei einem Update: Vorgängig ausgelesene Rollen in den neuen Cube einlesen (Skripte ausführen). Sage 200 BI Installationsanleitung Cubes & Datawarehouses Seite 6 von 12 7. In jedem Cube ist in den Eigenschaften der Datenquelle die Verbindung zum entsprechenden DWH zu setzen. Öffnen Sie bei jedem Cube die Datenquelleneigenschaften und erfassen Sie über […] die entsprechende DWHDatenbank: Sage 200 BI Installationsanleitung Cubes & Datawarehouses Seite 7 von 12 3.3 Berechtigungen bei DWH- und Cube-Datenbanken einrichten Für das erfolgreiche Laden und Verarbeiten sind die Benutzer für den Analysis Server und Server-Agent mit den entsprechenden Berechtigungen auszustatten. In unserem Fall sind dies NT Service\MSSQLServerOLAPService und NT Service\SQLSERVERAGENT: Analysis-Benutzer Zugriff auf die DWH-Datenbanken erteilen: Im SQL Server Management Studio sind dem Benutzer NT Service\ MSSQLServerOLAPService die folgenden Berechtigungen für den Zugriff auf die DWHDatenbanken auf dem SQL Server zu erteilen: Server-Agent-Benutzer der der Admin-Rolle im Cube zuteilen: Im Analysis Server ist pro Cube-Datenbank der Benutzer NT Service\SQLSERVERAGENT der Admin-Rolle zuzufügen: Sage 200 BI Installationsanleitung Cubes & Datawarehouses Seite 8 von 12 3.4 ETL-Job zur automatischen Datenaufbereitung erstellen Die Datawarehouses und die Cubes sollen während der Nacht mit neuen Daten gefüllt und verarbeitet werden. Dazu muss im SQL Server Agent ein entsprechender Auftrag („Job“) eingerichtet werden. Pro installiertem Modul müssen im Job dazu zwei Schritte eingerichtet werden: 1. DWH neu mit Daten füllen (ETL) 2. Cube verarbeiten und berechnen Ergänzend zu diesen zwei Schritten muss ein Zeitplan definiert werden wenn diese Schritte ausgeführt werden. Optional kann eine E-Mail Benachrichtigung bei einem fehlgeschlagenen Job eingerichtet werden. Vorgehen: 1. Einen neuen Job erstellen: z.B. mit dem Namen „ETL Sage DWH und Cubes“: 2. DWH mit Daten füllen: Schritt zum Laden des DWHs erstellen: Neuen Job-Step vom Typ „Transact-SQL-Script (T-SQL)“ erstellen Einen sinnvollen Namen vergeben, z.B. „ETL DWH Finanz“ Unter „Datenbank“ die Sage 200-Datenbank angeben T-SQL Kommando eingeben je nach Modul: - Finanz: exec tp_dwhload - Personal: exec ps_dwhload - Auftrag exec as_dwhload Bemerkung: Da bei der Erstellung der Prozeduren per SQL-Package die Default-Werte für die Parameter dieser Prozeduren bereits gesetzt wurden, müssen diese hier unter „Befehl“ nicht mehr explizit mitgegeben werden. Sage 200 BI Installationsanleitung Cubes & Datawarehouses Seite 9 von 12 3. Cube verarbeiten: Schritt zum Verarbeiten des Cubes zu erstellen: 1. Neuen Job-Step vom Typ „SQL Server Analysis Services-Befehl“ erstellen 2. Einen sinnvollen Namen vergeben, z.B. „Verarbeitung Cube Finanz“ 3. Den SSAS-Server eintragen (im Normalfall localhost) 4. XMLA-Kommando eingeben Das Kommando kann per Script-Action aus dem SQL Server Management Studio generiert werden: - Rechte Maustaste auf die entsprechende Cube-Datenbank und „Verarbeiten“ betätigen. Danach mit via Skript den Befehl generieren: 4. Schritt 2 und 3 für jedes Modul wiederholen (Finanz, Auftrag, Personal) Damit ergibt sich beispielsweise folgende Ausführungsreihenfolge: Laden Finanz, Verarbeiten Finanz Laden Auftrag, Verarbeiten Auftrag Laden Personal, Verarbeiten Personal 5. Verhalten im Fehlerfall bestimmen: Wir empfehlen dass der Cube gar nicht erst verarbeitet wird wenn das zugehörige DWH nicht erfolgreich gefüllt werden konnte. In diesem Fehler sollte der Auftrag mit dem Laden des nächsten Moduls fortfahren. In den einzelnen Schritten kann im Tab „Erweitert“ die Aktion „Fehler“ angepasst werden damit es zum nächsten Modul springt: Sage 200 BI Installationsanleitung Cubes & Datawarehouses Seite 10 von 12 6. Ausführungszeitplan erstellen In den Auftragseigenschaften ist unter „Zeitpläne“ ein Ausführungszeitplan zu erstellen: Achtung: Der Datenaufbereitungs-Job sollte sich niemals mit einem Backup- oder Sage 200 Datenimport-Job überschneiden! Sage 200 BI Installationsanleitung Cubes & Datawarehouses Seite 11 von 12 3.5 Datawarehouses laden und Cube verarbeiten Zum Prüfen ob der Job erfolgreich durchläuft empfehlen wir den Auftrag manuell zu starten über Rechtsklick „Auftrag starten bei Schritt“ und [Starten]: Achtung: Je nach Datenbankgrösse kann das Laden und Verarbeiten von DWH und Cube einige Zeit als auch Rechenleistung in Anspruch nehmen. Tipp: Überprüfen Sie in jedem Fall die Verarbeitung im SQL-Fehlerprotokoll: 3.6 E-Mail-Benachrichtigung Optional kann man in den Auftragseigenschaften unter „Benachrichtigungen“ eine E-MailBenachrichtigung für fehlgeschlagene Jobs einrichten: Dazu muss auf dem SQL Server „Database Mail“ konfiguriert sein, und in den Eigenschaften des SQL Server Agent muss unter „Alert System“ ein E-Mail-Profil aktiviert sein. Details dazu finden Sie bei den Hilfeseiten von Microsoft (z.B. Datenbank-E-Mail mit dem SQL Server-Agent). Sage 200 BI Installationsanleitung Cubes & Datawarehouses Seite 12 von 12