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
-
Stellen Sie in SSMS eine Verbindung mit SSAS her, indem Sie den Benutzernamen und das Passwort für die Active Directory-Domäne verwenden.
-
Erweitern Sie Databases (Datenbanken). Die neu bereitgestellte SSAS-Datenbank wird angezeigt.
-
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.
-
Führen Sie für den tabellarischen Modus folgende Schritte aus:
-
Zeigen Sie die Registerkarte Connections (Verbindungen) an.
-
Öffnen Sie das Kontextmenü (rechte Maustaste) für das Verbindungsobjekt und wählen Sie dann Properties (Eigenschaften) aus.
-
Aktualisieren Sie den Benutzernamen und das Passwort in der Verbindungszeichenfolge.
-
-
Führen Sie für den multidimensionalen Modus folgende Schritte aus:
-
Zeigen Sie die Registerkarte Data Sources (Datenquellen) an.
-
Öffnen Sie das Kontextmenü (rechte Maustaste) für das Datenquellobjekt und wählen Sie dann Properties (Eigenschaften) aus.
-
Aktualisieren Sie den Benutzernamen und das Passwort in der Verbindungszeichenfolge.
-
-
-
Ö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.
Themen
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)
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
adminzu 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 FallSSAS_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' GOAnmerkung
IDENTITYmuss eine domänenauthentifizierter Anmeldung sein. Ersetzen Siedurch das Passwort für die domänenauthentifizierte Anmeldung.mysecret
Erstellen des SSAS-Proxys
-
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 -
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 -
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
-
Verwenden Sie die folgende SQL-Anweisung, um die Empfänger des Proxys anzuzeigen.
USE [msdb] GO EXEC sp_help_proxy GO -
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
@commandbeschreibt 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
@serverbeschreibt 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 (
) 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.your-DB-instance-name.your-AD-domain-name
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
-
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 -
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 -
Löschen Sie den Proxy.
USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSAS_Proxy' GO