Hier ist mein Problem: In meiner Firma gibt es ein Entwicklerteam, das Würfel, Dimensionen (...) in SSAS in einer DEV-Umgebung erstellt (nennen wir es SSASDEV). Diese Umgebung ist an eine SQL Server-Datenbank in DEV gebunden (nennen wir sie SQDEV). Meine Aufgabe ist es, ihre Arbeit von der DEV-Umgebung in der PRO-Umgebung bereitzustellen. Diese PRO-Umgebung (SSASPRO) basiert auf einer anderen SQL Server-Datenbank (SQPRO).
Im Moment sendet das Entwicklerteam das SSAS, sendet mir das XMLA-Skript, ich muss jede definierte Sicherheitsregel und die in dieser XMLA angegebene Verbindungszeichenfolge ändern (Sicherheitsregeln, da sie je nach Umgebung und Verbindungszeichenfolge auf unterschiedlichen Rollen basieren, weil der SQL Server-Datenbank). Es ist eine schwere Arbeit für jede Bereitstellung, daher möchte ich dies automatisieren.
Ich habe nur Wege gefunden
(1) - um den DEV-Cube zu skripten und die XMLA auf PRO anzuwenden (was jetzt gemacht wird).
(2) - zum Synchronisieren von Cubes (dh Aufheben, erneutes Anwenden von Sicherheitsregeln und Ändern des Verbindungsstrings).
Ich kann mir nicht vorstellen, dass ich der einzige in dieser Situation auf der ganzen Welt bin! Hat jemand einen Tipp oder einen Hinweis für mich? Gibt es einen anderen einfachsten Weg und ich habe ihn verpasst? Ist meine interne Organisation (unterschiedliche Datenbanken für jede Umgebung) für SSAS nicht logisch?
Ich arbeite mit SSAS 2008R2 und 2012
Vielen Dank für Ihre Antworten!
quelle
Es ist ein paar Jahre her, aber ich glaube, das war es, was wir in meiner alten Position gearbeitet haben.
Beginnen Sie mit einer AS-Datenbank mit Rollen, aber ohne Rollenmitglieder, und generieren Sie die Skripts, um die Mitglieder hinzuzufügen und als separate XML-Datei zu speichern. Wenn Mitglieder entfernt werden müssen, schreiben Sie diese ebenfalls als separate Datei.
Bei der Migration der AS-Datenbank auf eine neue Instanz werden diese Berechtigungsskripts ausgeführt, nachdem die Hauptdatenbank abgeschlossen wurde. Sie können sie mit Powershell oder SSIS ausführen, um die Bereitstellung zu automatisieren.
Um dies weiter zu automatisieren, können Sie jede einzelne Berechtigung skripten und einige SQL-Datenbanktabellen erstellen, die die Beziehung zwischen AS-Datenbanken und Berechtigungen sowie Skriptpositionen enthalten. Verwenden Sie dann Powershell oder SSIS, um die Berechtigungen im Rahmen des Bereitstellungsprozesses programmgesteuert auf die AS-Datenbank anzuwenden.
Zusammenfassend kann gesagt werden, dass die von Ihnen erstellten Rollen in allen Ihren Umgebungen (und TFS) bestehen bleiben. Es sind nur die Mitglieder der Rollen, die zwischen Umgebungen geändert werden müssen, die mit Skripten verarbeitet werden können. Die anfängliche Einrichtung erfordert einige Investitionen, aber sobald sie abgeschlossen ist, funktioniert sie ziemlich reibungslos.
quelle