Utilisation de SSAS sur Amazon RDS - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de SSAS sur Amazon RDS

Après le déploiement du projet SSAS, vous pouvez traiter directement la base de données OLAP sur SSMS.

Pour utiliser SSAS sur RDS
  1. Dans SSMS, connectez-vous à SSAS en utilisant le nom d'utilisateur et le mot de passe du domaine Active Directory.

  2. Développez Bases de données. La nouvelle base de données SSAS déployée s'affiche.

  3. Localisez la chaîne de connexion, puis remplacez le nom d'utilisateur et le mot de passe pour donner accès à la base de données SQL source. Cette opération est nécessaire pour le traitement des objets SSAS.

    1. Pour le mode tabulaire, procédez comme suit :

      1. Développez l'onglet Connections (Connexions).

      2. Ouvrez le menu contextuel (clic droit) de l'objet de connexion, puis choisissez Properties (Propriétés).

      3. Mettez à jour le nom d'utilisateur et le mot de passe dans la chaîne de connexion.

    2. Pour le mode multidimensionnel, procédez comme suit :

      1. Développez l'onglet Data Sources (Sources de données).

      2. Ouvrez le menu contextuel (clic droit) de la source de données, puis choisissez Properties (Propriétés).

      3. Mettez à jour le nom d'utilisateur et le mot de passe dans la chaîne de connexion.

  4. Ouvrez le menu contextuel (clic droit) de la base de données SSAS que vous avez créée et choisissez Process Database (Traiter la base données).

    Selon la taille des données d'entrée, le traitement peut prendre plusieurs minutes.

Configuration d'un utilisateur authentifié par Windows pour SSAS

L'utilisateur administrateur principal (parfois appelé utilisateur principal) peut utiliser l'exemple de code suivant pour configurer une connexion authentifiée par Windows et accorder les autorisations de procédure requises. Ainsi, l'utilisateur de domaine peut exécuter des tâches utilisateur SSAS, utiliser des procédures de transfert de fichiers S3, créer des informations d'identification et travailler avec le proxy d'agent SQL Server. Pour de plus amples informations, consultez Informations d'identification (Moteur de base de données) et Créer un proxy d'agent SQL Server dans la documentation Microsoft.

Vous pouvez accorder quelques-unes ou la totalité des autorisations suivantes, selon les besoins, aux utilisateurs authentifiés par Windows.

-- 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

Ajout d'un utilisateur de domaine en tant qu'administrateur de base de données

Vous pouvez ajouter un utilisateur de domaine en tant qu'administrateur de base de données SSAS de la manière suivante :

  • Un administrateur de base de données peut utiliser SSMS pour créer un rôle avec des privilèges admin, puis ajouter des utilisateurs à ce rôle.

  • Vous pouvez utiliser la procédure stockée suivante.

    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';

    Les paramètres suivants sont obligatoires :

    • @task_type – Type de la tâche MSBI, en l'occurrence SSAS_ADD_DB_ADMIN_MEMBER.

    • @database_name – Nom de la base de données SSAS à laquelle vous accordez des privilèges d'administrateur.

    • @ssas_role_name – Nom du rôle de l'administrateur de la base de données SSAS. Si le rôle n'existe pas déjà, il est créé.

    • @ssas_role_member – Utilisateur de la base de données SSAS que vous ajoutez au rôle d'administrateur.

Création d'un proxy SSAS

Pour pouvoir planifier le traitement de base de données SSAS à l'aide de SQL Server Agent, créez des informations d'identification SSAS et un proxy SSAS. Exécutez ces procédures en tant qu'utilisateur authentifié par Windows.

Pour créer les informations d'identification SSAS
  • Créez les informations d'identification pour le proxy. Pour ce faire, vous pouvez utiliser SSMS ou l'instruction SQL suivante.

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

    IDENTITY doit être une connexion authentifiée par domaine. Remplacez mysecret par le mot de passe de la connexion authentifiée par le domaine.

Pour créer le proxy SSAS
  1. Utilisez l'instruction SQL suivante pour créer le proxy.

    USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSAS_Proxy',@credential_name=N'SSAS_Credential',@description=N'' GO
  2. Utilisez l'instruction SQL suivante pour accorder l'accès au proxy à d'autres utilisateurs.

    USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSAS_Proxy',@login_name=N'mydomain\user_name' GO
  3. Utilisez l'instruction SQL suivante pour donner au sous-système SSAS l'accès au proxy.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
Pour afficher le proxy et les octrois sur le proxy
  1. Utilisez l'instruction SQL suivante pour afficher les bénéficiaires du proxy.

    USE [msdb] GO EXEC sp_help_proxy GO
  2. Utilisez l'instruction SQL suivante pour afficher les octrois du sous-système.

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

Planification du traitement de base de données SSAS à l'aide de SQL Server Agent

Après avoir créé les informations d'identification et le proxy et accordé l'accès SSAS au proxy, vous pouvez créer une tâche SQL Server Agent pour planifier le traitement de la base de données SSAS.

Pour planifier le traitement de la base de données SSAS
  • Utilisez SSMS ou T-SQL pour créer la tâche SQL Server Agent. L'exemple suivant utilise T-SQL. Vous pouvez configurer davantage sa planification des tâches via SSMS ou T-SQL.

    • Le paramètre @command décrit la commande XML for Analysis (XMLA) devant être exécutée par la tâche SQL Server Agent. Cet exemple montre comment configurer le traitement des bases de données multidimensionnelles SSAS.

    • Le paramètre @server définit le nom du serveur SSAS cible de la tâche SQL Server Agent.

      Pour appeler le service SSAS dans la même instance de base de données RDS où réside la tâche SQL Server Agent, utilisez localhost:2383.

      Pour appeler le service SSAS depuis l'extérieur de l'instance de base de données RDS, utilisez le point de terminaison RDS. Vous pouvez également utiliser le point de terminaison Kerberos Active Directory (your-DB-instance-name.your-AD-domain-name) si les instances de base de données RDS sont jointes par le même domaine. Pour les instances de base de données externes, assurez-vous de configurer correctement le groupe de sécurité VPC associé à l'instance de base de données RDS pour une connexion sécurisée.

    Vous pouvez modifier davantage la requête pour prendre en charge diverses opérations XMLA. Apportez des modifications soit en modifiant directement la requête T-SQL, soit en utilisant l'interface utilisateur SSMS après la création de la tâche SQL Server Agent.

    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

Révocation de l'accès SSAS à partir du proxy

Vous pouvez révoquer l'accès au sous-système SSAS et supprimer le proxy SSAS à l'aide des procédures stockées suivantes.

Pour révoquer l'accès et supprimer le proxy
  1. Révoquez l'accès au sous-système.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
  2. Révoquez les octrois sur le proxy.

    USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSAS_Proxy',@name=N'mydomain\user_name' GO
  3. Supprimez le proxy.

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