Verwenden von SSAS auf Amazon RDS - Amazon Relational Database Service

Verwenden von SSAS auf Amazon RDS

Nach der Bereitstellung des SSAS-Projekts können Sie die OLAP-Datenbank direkt auf SSMS verarbeiten.

So verwenden Sie SSAS auf RDS
  1. Stellen Sie in SSMS eine Verbindung mit SSAS her, indem Sie den Benutzernamen und das Passwort für die Active Directory-Domäne verwenden.

  2. Erweitern Sie Databases (Datenbanken). Die neu bereitgestellte SSAS-Datenbank wird angezeigt.

  3. Suchen Sie nach der Verbindungszeichenfolge und aktualisieren Sie den Benutzernamen und das Passwort, um Zugriff auf die SQL-Quelldatenbank zu erteilen. Dies ist für die Verarbeitung von SSAS-Objekten erforderlich.

    1. Führen Sie für den tabellarischen Modus folgende Schritte aus:

      1. Zeigen Sie die Registerkarte Connections (Verbindungen) an.

      2. Öffnen Sie das Kontextmenü (rechte Maustaste) für das Verbindungsobjekt und wählen Sie dann Properties (Eigenschaften) aus.

      3. Aktualisieren Sie den Benutzernamen und das Passwort in der Verbindungszeichenfolge.

    2. Führen Sie für den multidimensionalen Modus folgende Schritte aus:

      1. Zeigen Sie die Registerkarte Data Sources (Datenquellen) an.

      2. Öffnen Sie das Kontextmenü (rechte Maustaste) für das Datenquellobjekt und wählen Sie dann Properties (Eigenschaften) aus.

      3. Aktualisieren Sie den Benutzernamen und das Passwort in der Verbindungszeichenfolge.

  4. Öffnen Sie das Kontextmenü (rechte Maustaste) für die SSAS-Datenbank, die Sie erstellt haben, und wählen Sie Process Database (Datenbank verarbeiten) aus.

    Abhängig vom Umfang der Eingabedaten kann der Verarbeitungsvorgang einige Minuten dauern.

Einrichten eines Windows-authentifizierten Benutzers für SSAS

Der Hauptadministrator (manchmal auch als Hauptnutzer bezeichnet) kann das folgende Codebeispiel verwenden, um eine Windows-authentifizierte Anmeldung einzurichten und die erforderlichen Prozessberechtigungen zu erteilen. Dadurch werden dem Domänenbenutzer Berechtigungen zum Ausführen von SSAS-Kundenaufgaben, zum Verwenden von S3-Dateiübertragungsverfahren, zum Erstellen von Anmeldeinformationen und zum Arbeiten mit dem SQL-Server-Agent-Proxy gewährt. Weitere Informationen finden Sie unter Anmeldeinformationen (Datenbank-Engine) und Erstellen eines SQL Server-Agent-Proxys in der Microsoft-Dokumentation.

Sie können Windows-authentifizierten Benutzern bei Bedarf einige oder alle der folgenden Berechtigungen erteilen.

-- Create a server-level domain user login, if it doesn't already exist USE [master] GO CREATE LOGIN [mydomain\user_name] FROM WINDOWS GO -- Create domain user, if it doesn't already exist USE [msdb] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] GO -- Grant necessary privileges to the domain user USE [master] GO GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name] GO USE [msdb] GO GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] with grant option ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name] GO

Hinzufügen eines Domänenbenutzers als Datenbankadministrator

Sie können einen Domänenbenutzer als SSAS-Datenbankadministrator auf folgende Weise hinzufügen:

  • Ein Datenbankadministrator kann SSMS verwenden, um eine Rolle mit der Berechtigung admin zu erstellen und dann Benutzer zu dieser Rolle hinzufügen.

  • Sie können die folgende gespeicherte Prozedur verwenden.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_ADD_DB_ADMIN_MEMBER', @database_name='myssasdb', @ssas_role_name='exampleRole', @ssas_role_member='domain_name\domain_user_name';

    Die folgenden Parameter sind erforderlich:

    • @task_type – Der Typ der MSBI-Aufgabe, in diesem Fall SSAS_ADD_DB_ADMIN_MEMBER.

    • @database_name – Der Name der SSAS-Datenbank, der Sie Administratorrechte gewähren.

    • @ssas_role_name – Der Name der SSAS-Datenbankadministratorrolle. Wenn die Rolle noch nicht vorhanden ist, wird sie erstellt.

    • @ssas_role_member – Der SSAS-Datenbankbenutzer, den Sie der Administratorrolle hinzufügen.

Erstellen eines SSAS-Proxys

Um die SSAS-Datenbankverarbeitung mit SQL Server Agent planen zu können, erstellen Sie SSAS-Anmeldeinformationen und einen SSAS-Proxy. Führen Sie diese Prozeduren als Windows-authentifizierter Benutzer aus.

Erstellen von SSAS-Anmeldeinformationen
  • Erstellen Sie die Anmeldeinformationen für den Proxy. Dazu können Sie SSMS oder die folgende SQL-Anweisung verwenden.

    USE [master] GO CREATE CREDENTIAL [SSAS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret' GO
    Anmerkung

    IDENTITY muss eine domänenauthentifizierter Anmeldung sein. Ersetzen Sie mysecret durch das Passwort für die domänenauthentifizierte Anmeldung.

Erstellen des SSAS-Proxys
  1. Verwenden Sie die folgende SQL-Anweisung, um den Proxy zu erstellen.

    USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSAS_Proxy',@credential_name=N'SSAS_Credential',@description=N'' GO
  2. Verwenden Sie die folgende SQL-Anweisung, um anderen Benutzern den Zugriff auf den Proxy zu gewähren.

    USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSAS_Proxy',@login_name=N'mydomain\user_name' GO
  3. Verwenden Sie die folgende SQL-Anweisung, um dem SSAS-Subsystem Zugriff auf den Proxy zu gewähren.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
So zeigen Sie den Proxy und die Berechtigungserteilungen für den Proxy an
  1. Verwenden Sie die folgende SQL-Anweisung, um die Empfänger des Proxys anzuzeigen.

    USE [msdb] GO EXEC sp_help_proxy GO
  2. Verwenden Sie die folgende SQL-Anweisung, um die Subsystemzuweisungen anzuzeigen.

    USE [msdb] GO EXEC msdb.dbo.sp_enum_proxy_for_subsystem GO

Planen der SSAS-Datenbankverarbeitung mit SQL Server Agent

Nachdem Sie die Anmeldeinformationen und den Proxy erstellt und SSAS-Zugriff auf den Proxy gewährt haben, können Sie einen SQL-Server-Agent-Auftrag erstellen, um die SSAS-Datenbankverarbeitung zu planen.

Planen der SSAS-Datenbankverarbeitung
  • Verwenden Sie SSMS oder T-SQL zum Erstellen des SQL-Server-Agent-Auftrags. Im folgenden Beispiel wird T-SQL verwendet. Sie können den Auftragszeitplan über SSMS oder T-SQL weiter konfigurieren.

    • Der Parameter @command beschreibt den Befehl XML for Analysis (XMLA), der vom SQL-Server-Agent-Auftrag ausgeführt werden soll. In diesem Beispiel wird die mehrdimensionale SSAS-Datenbankverarbeitung konfiguriert.

    • Der Parameter @server beschreibt den Ziel-SSAS-Servernamen des SQL-Server-Agent-Auftrags.

      Um den SSAS-Dienst innerhalb derselben RDS-DB-Instance aufzurufen, in der sich der SQL-Server-Agent-Auftrag befindet, verwenden Sie localhost:2383.

      Um den SSAS-Dienst von außerhalb der RDS-DB-Instance aufzurufen, verwenden Sie den RDS-Endpunkt. Sie können auch den Endpunkt von Kerberos Active Directory (AD) verwenden (your-DB-instance-name.your-AD-domain-name) wenn die RDS-DB-Instances von derselben Domäne verbunden werden. Stellen Sie bei externen DB-Instances sicher, dass Sie die VPC-Sicherheitsgruppe, die mit der RDS-DB-Instance verknüpft ist, ordnungsgemäß für eine sichere Verbindung konfigurieren.

    Sie können die Abfrage weiter bearbeiten, um verschiedene XMLA-Operationen zu unterstützen. Nehmen Sie Änderungen vor, indem Sie die T-SQL-Abfrage direkt ändern oder die SSMS-Benutzeroberfläche nach der Erstellung von SQL-Server-Agent-Aufträgen verwenden.

    USE [msdb] GO DECLARE @jobId BINARY(16) EXEC msdb.dbo.sp_add_job @job_name=N'SSAS_Job', @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @category_name=N'[Uncategorized (Local)]', @job_id = @jobId OUTPUT GO EXEC msdb.dbo.sp_add_jobserver @job_name=N'SSAS_Job', @server_name = N'(local)' GO EXEC msdb.dbo.sp_add_jobstep @job_name=N'SSAS_Job', @step_name=N'Process_SSAS_Object', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'ANALYSISCOMMAND', @command=N'<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Parallel> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500"> <Object> <DatabaseID>Your_SSAS_Database_ID</DatabaseID> </Object> <Type>ProcessFull</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> </Parallel> </Batch>', @server=N'localhost:2383', @database_name=N'master', @flags=0, @proxy_name=N'SSAS_Proxy' GO

Widerrufen des SSAS-Zugriffs vom Proxy

Sie können den Zugriff auf das SSAS-Subsystem widerrufen und den SSAS-Proxy mithilfe der folgenden gespeicherten Prozesse löschen.

So entziehen Sie den Zugriff und löschen den Proxy
  1. Widerrufen des Teilsystemzugriffs.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
  2. Widerrufen Sie die für den erteilten Berechtigungen Proxy.

    USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSAS_Proxy',@name=N'mydomain\user_name' GO
  3. Löschen Sie den Proxy.

    USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSAS_Proxy' GO