Prise en charge de SQL Server Analysis Services dans Amazon RDS for SQL Server - 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.

Prise en charge de SQL Server Analysis Services dans Amazon RDS for SQL Server

Microsoft SQL Server Analysis Services (SSAS) fait partie de la suite Microsoft Business Intelligence (MSBI). SSAS est un outil de traitement analytique en ligne (OLAP) et d'exploration de données installé dans SQL Server. Vous utilisez SSAS pour analyser des données et vous aider ainsi à prendre des décisions professionnelles. SSAS diffère de la base de données relationnelle SQL Server, car SSAS est optimisé pour les requêtes et les calculs, courants dans un environnement business intelligence.

Vous pouvez activer SSAS pour des instances de base de données existantes ou nouvelles. Il est installé sur la même instance de base de données que votre moteur de base de données. Pour plus d'informations sur SSAS, consultez la documentation Analysis Services de Microsoft.

Amazon RDS prend en charge SSAS pour SQL Server éditions Standard et Enterprise sur les versions suivantes :

  • Mode tabulaire :

    • SQL Server 2019, version 15.00.4043.16.v1 et ultérieure

    • SQL Server 2017, version 14.00.3223.3.v1 et ultérieure

    • SQL Server 2016, version 13.00.5426.0.v1 et ultérieure

  • Mode multidimensionnel :

    • SQL Server 2017, version 14.00.3381.3.v1 et ultérieure

    • SQL Server 2016, version 13.00.5882.1.v1 et ultérieure

Limites

Les limitations suivantes s'appliquent à l'utilisation de SSAS sur RDS pour SQL Server :

  • RDS for SQL Server prend en charge l'exécution de SSAS en mode tabulaire ou multidimensionnel. Pour de plus amples informations, veuillez consulter Comparaison des solutions tabulaires et multidimensionnelles dans la documentation Microsoft.

  • Vous ne pouvez utiliser qu'un seul mode SSAS à la fois. Avant de changer de mode, assurez-vous de supprimer toutes les bases de données SSAS.

    Pour plus d'informations, consultez Modification du mode SSAS.

  • Le mode multidimensionnel n'est pas pris en charge sur SQL Server 2019.

  • Les instances multi-AZ ne sont pas prises en charge.

  • Les instances doivent utiliser Active Directory autogéré ou AWS Directory Service for Microsoft Active Directory pour l'authentification SSAS. Pour plus d'informations, consultez Utilisation d'Active Directory avec RDS for SQL Server.

  • Les utilisateurs ne disposent pas d'un accès administrateur au serveur SSAS, mais ils peuvent avoir un accès administrateur au niveau de la base de données.

  • Le seul port pris en charge pour accéder à SSAS est le port 2383.

  • Vous ne pouvez pas déployer de projets directement. Nous fournissons une procédure stockée fournie par RDS pour cela. Pour plus d'informations, consultez Déploiement de projets SSAS sur Amazon RDS.

  • Le traitement pendant le déploiement n'est pas pris en charge.

  • L'utilisation de fichiers .xmla pour le déploiement n'est pas prise en charge.

  • Les fichiers d'entrée du projet SSAS et les fichiers de sortie de la sauvegarde de base de données peuvent se trouver uniquement dans le dossier D:\S3 de l'instance de base de données.

Activation de SSAS

Utilisez la procédure suivante pour activer SSAS pour votre instance de base de données :

  1. Créez un groupe d'options ou choisissez un groupe d'options existant.

  2. Ajoutez l'option SSAS au groupe d'options.

  3. Associez le groupe d'options à l'instance de base de données.

  4. Autorisez l'accès entrant au groupe de sécurité VPC (Virtual Private Cloud) pour le port d'écoute SSAS.

  5. Activez l'intégration Amazon S3.

Création d'un groupe d'options pour SSAS

Utilisez AWS Management Console ou l'AWS CLI pour créer un groupe d'options correspondant au moteur SQL Server et à la version de l'instance de base de données que vous prévoyez d'utiliser.

Note

Vous pouvez également utiliser un groupe d'options existant s'il convient au moteur et à la version SQL Server.

La procédure de console suivante crée un groupe d'options pour SQL Server Standard Edition 2017.

Pour créer le groupe d'options
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Groupes d'options.

  3. Choisissez Create group.

  4. Dans la fenêtre Créer un groupe d'options, procédez comme suit :

    1. Pour Nom, attribuez au groupe d'options un nom unique au sein de votre compte AWS, par exemple ssas-se-2017. Le nom ne peut contenir que des lettres, des chiffres et des tirets.

    2. Pour Description, saisissez une brève description du groupe d'options, par exemple SSAS option group for SQL Server SE 2017. La description est utilisée à des fins d'affichage.

    3. Pour Moteur, choisissez sqlserver-se.

    4. Pour Version majeure du moteur, choisissez 14.00.

  5. Sélectionnez Créer.

L'exemple de CLI suivant crée un groupe d'options pour SQL Server Standard Edition 2017.

Pour créer le groupe d'options
  • Utilisez l’une des commandes suivantes.

    Pour LinuxmacOS, ou Unix :

    aws rds create-option-group \ --option-group-name ssas-se-2017 \ --engine-name sqlserver-se \ --major-engine-version 14.00 \ --option-group-description "SSAS option group for SQL Server SE 2017"

    Dans Windows :

    aws rds create-option-group ^ --option-group-name ssas-se-2017 ^ --engine-name sqlserver-se ^ --major-engine-version 14.00 ^ --option-group-description "SSAS option group for SQL Server SE 2017"

Ajout de l'option SSAS au groupe d'options

Ensuite, utilisez AWS Management Console ou l'AWS CLI pour ajouter l'option SSAS au groupe d'options.

Pour ajouter l'option SSAS
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Groupes d'options.

  3. Choisissez le groupe d'options que vous venez de créer.

  4. Sélectionnez Ajouter une option.

  5. Sous Option details (Détails de l'option), choisissez SSAS pour Option name (Nom de l'option).

  6. Sous Option settings (Paramètres d'option), procédez comme suit :

    1. Pour Max memory (Mémoire maximale), saisissez une valeur comprise entre 10 et 80.

      Max memory (Mémoire max.) spécifie le seuil supérieur au-delà duquel SSAS commence à libérer de la mémoire de manière plus agressive pour laisser de la place aux requêtes en cours d'exécution et hautement prioritaires. Le nombre correspond à un pourcentage de la mémoire totale de l'instance de base de données. Les valeurs autorisées sont 10–80, et celle par défaut est 45.

    2. Pour Mode, choisissez le mode serveur SSAS, Tabular (Tabulaire) ou Multidimensional (Multidimensionnel).

      Si vous ne voyez pas le paramètre d'option Mode, le mode multidimensionnel n'est pas pris en charge dans votre région AWS. Pour plus d'informations, consultez Limites.

      Le mode Tabular (Tabulaire) est le mode par défaut.

    3. Pour Groupes de sécurité, choisissez le groupe de sécurité VPC à associer à l'option.

    Note

    Le port permettant d'accéder à SSAS, 2383, est prérempli.

  7. Sous Scheduling (Planification), choisissez si vous souhaitez ajouter l'option immédiatement ou lors du créneau de maintenance suivant.

  8. Sélectionnez Ajouter une option.

Pour ajouter l'option SSAS
  1. Créez un fichier JSON, par exemple ssas-option.json, avec les paramètres suivants :

    • OptionGroupName – Nom du groupe d'options que vous avez créé ou choisi précédemment (ssas-se-2017 dans l'exemple suivant).

    • Port – Port que vous utilisez pour accéder à SSAS. Le seul port pris en charge est 2383.

    • VpcSecurityGroupMemberships – Appartenances aux groupes de sécurité VPC pour votre instance de base de données RDS.

    • MAX_MEMORY – Seuil supérieur au-delà duquel SSAS doit commencer à libérer de la mémoire de manière plus agressive pour laisser de la place aux requêtes en cours d'exécution et hautement prioritaires. Le nombre correspond à un pourcentage de la mémoire totale de l'instance de base de données. Les valeurs autorisées sont 10–80, et celle par défaut est 45.

    • MODE – Le mode de serveur SSAS, Tabular ou Multidimensional. Tabular est le mode par défaut.

      Si vous recevez une erreur indiquant que le paramètre d'option MODEn'est pas alide, le mode multidimensionnel n'est pas pris en charge dans votre région AWS. Pour plus d'informations, consultez Limites.

    Voici un exemple de fichier JSON avec les paramètres d'option SSAS.

    { "OptionGroupName": "ssas-se-2017", "OptionsToInclude": [ { "OptionName": "SSAS", "Port": 2383, "VpcSecurityGroupMemberships": ["sg-0abcdef123"], "OptionSettings": [{"Name":"MAX_MEMORY","Value":"60"},{"Name":"MODE","Value":"Multidimensional"}] }], "ApplyImmediately": true }
  2. Ajoutez l'option SSAS au groupe d'options.

    Pour LinuxmacOS, ou Unix :

    aws rds add-option-to-option-group \ --cli-input-json file://ssas-option.json \ --apply-immediately

    Dans Windows :

    aws rds add-option-to-option-group ^ --cli-input-json file://ssas-option.json ^ --apply-immediately

Association du groupe d'options à votre instance de base de données

Vous pouvez utiliser la console ou la CLI pour associer le groupe d'options à votre instance de base de données.

Associez votre groupe d'options à une instance de base de données nouvelle ou existante :

Vous pouvez associer votre groupe d'options à une instance de base de données nouvelle ou existante.

Note

Si vous utilisez une instance existante, un domaine Active Directory et un rôle IAM doivent déjà lui être associés. Si vous créez une instance, spécifiez un domaine Active Directory et un rôle IAM existants. Pour plus d'informations, consultez Utilisation d'Active Directory avec RDS for SQL Server.

Pour créer une instance de base de données utilisant le groupe d'options
  • Spécifiez le type de moteur de base de données et la version majeure utilisés lors de la création du groupe d'options.

    Pour LinuxmacOS, ou Unix :

    aws rds create-db-instance \ --db-instance-identifier myssasinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 14.00.3223.3.v1 \ --allocated-storage 100 \ --manage-master-user-password \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name ssas-se-2017

    Dans Windows :

    aws rds create-db-instance ^ --db-instance-identifier myssasinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 14.00.3223.3.v1 ^ --allocated-storage 100 ^ --manage-master-user-password ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name ssas-se-2017
Pour modifier une instance de base de données afin d'y associer le groupe d'options
  • Utilisez l’une des commandes suivantes.

    Pour LinuxmacOS, ou Unix :

    aws rds modify-db-instance \ --db-instance-identifier myssasinstance \ --option-group-name ssas-se-2017 \ --apply-immediately

    Dans Windows :

    aws rds modify-db-instance ^ --db-instance-identifier myssasinstance ^ --option-group-name ssas-se-2017 ^ --apply-immediately

Autorisation de l'accès entrant à votre groupe de sécurité VPC

Créez une règle entrante pour le port d'écoute SSAS spécifié dans le groupe de sécurité VPC associé à votre instance de base de données. Pour de plus amples informations sur la configuration des groupes de sécurité, veuillez consulter Créer un groupe de sécurité qui autorise l'accès à votre instance de base de données dans votre VPC.

Activation de l'intégration Amazon S3

Pour télécharger des fichiers de configuration de modèle sur votre hôte pour le déploiement, utilisez l'intégration Amazon S3. Pour plus d'informations, consultez Intégration d'une instance de base de données Amazon RDS for SQL Server DB avec Amazon S3.

Déploiement de projets SSAS sur Amazon RDS

Sur RDS, vous ne pouvez pas déployer de projets SSAS directement avec SQL Server Management Studio (SSMS). Pour déployer des projets, utilisez une procédure stockée de RDS.

Note

L'utilisation de fichiers .xmla pour le déploiement n'est pas prise en charge.

Avant de déployer des projets, vérifiez les points suivants :

  • L'intégration Amazon S3 est activée. Pour plus d'informations, consultez Intégration d'une instance de base de données Amazon RDS for SQL Server DB avec Amazon S3.

  • Le paramètre de configuration Processing Option est défini sur Do Not Process. Ce paramètre signifie qu'aucun traitement n'est effectué après le déploiement.

  • Vous disposez des fichiers myssasproject.asdatabase et myssasproject.deploymentoptions. Ils sont générés automatiquement lorsque vous créez le projet SSAS.

Pour déployer un projet SSAS sur RDS
  1. Téléchargez le fichier .asdatabase (modèle SSAS) de votre compartiment S3 dans votre instance de base de données, comme illustré dans l'exemple suivant. Pour plus d'informations sur les paramètres de téléchargement, consultez Téléchargement des fichiers d'un compartiment Amazon S3 vers une instance de base de données SQL Server.

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/myssasproject.asdatabase', [@rds_file_path='D:\S3\myssasproject.asdatabase'], [@overwrite_file=1];
  2. Téléchargez le fichier .deploymentoptions de votre compartiment S3 dans votre instance de base de données.

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/myssasproject.deploymentoptions', [@rds_file_path='D:\S3\myssasproject.deploymentoptions'], [@overwrite_file=1];
  3. Déployez le projet.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_DEPLOY_PROJECT', @file_path='D:\S3\myssasproject.asdatabase';

Surveillance de l'état d'une tâche de déploiement

Pour suivre l'état de votre tâche de déploiement (ou de téléchargement), appelez la fonction rds_fn_task_status. Deux paramètres sont nécessaires. Le premier paramètre doit toujours être NULL, car il ne s'applique pas à SSAS. Le second paramètre accepte l'ID de tâche.

Pour consulter une liste de toutes les tâches, définissez le premier paramètre sur NULL et le second sur 0, comme illustré dans l'exemple suivant.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);

Pour obtenir une tâche spécifique, définissez le premier paramètre sur NULL et le second sur l'ID de tâche, comme illustré dans l'exemple suivant.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);

La fonction rds_fn_task_status retourne les informations suivantes.

Paramètre de sortie

Description

task_id

ID de la tâche

task_type

Pour SSAS, les tâches peuvent avoir les types suivants :

  • SSAS_DEPLOY_PROJECT

  • SSAS_ADD_DB_ADMIN_MEMBER

  • SSAS_BACKUP_DB

  • SSAS_RESTORE_DB

database_name

Non applicable aux tâches SSAS.

% complete

Progression de la tâche sous forme de pourcentage.

duration (mins)

Temps consacré à la tâche, en minutes.

lifecycle

État de la tâche. Les statuts possibles sont les suivants :

  • CREATED – Après que vous avez appelé une des procédures stockées SSAS, une tâche est créée et le statut est défini sur CREATED.

  • IN_PROGRESS – Après le démarrage d'une tâche, le statut est défini sur IN_PROGRESS. Le passage du statut CREATED à IN_PROGRESS peut prendre jusqu'à cinq minutes.

  • SUCCESS – Lorsqu’une tâche est terminée, le statut est défini sur SUCCESS.

  • ERROR – Si une tâche échoue, le statut est défini sur ERROR. Lisez la colonne task_info pour plus d'informations sur l'erreur.

  • CANCEL_REQUESTED – Après que vous avez appelé rds_cancel_task, le statut de la tâche est défini sur CANCEL_REQUESTED.

  • CANCELLED – Une fois une tâche annulée avec succès, l'état de la tâche est défini sur CANCELLED.

task_info

Informations supplémentaires sur la tâche. Si une erreur se produit pendant le traitement, cette colonne contient des informations sur l'erreur.

Pour plus d'informations, consultez Résolution des problèmes rencontrés avec SSAS.

last_updated

Date et heure de la dernière mise à jour de l'état de la tâche.

created_at

Date et heure de création de la tâche.

S3_object_arn

Non applicable aux tâches SSAS.

overwrite_S3_backup_file

Non applicable aux tâches SSAS.

KMS_master_key_arn

Non applicable aux tâches SSAS.

filepath

Non applicable aux tâches SSAS.

overwrite_file

Non applicable aux tâches SSAS.

task_metadata

Métadonnées associées à la tâche SSAS.

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

Sauvegarde d'une base de données SSAS

Vous pouvez créer des fichiers de sauvegarde d'une base de données SSAS uniquement dans le dossier D:\S3 de l'instance de base de données. Pour déplacer les fichiers de sauvegarde vers votre compartiment S3, utilisez Amazon S3.

Vous pouvez sauvegarder une base de données SSAS comme suit :

  • Un utilisateur de domaine ayant le rôle admin pour une base de données particulière peut utiliser SSMS pour sauvegarder la base de données en question dans le dossier D:\S3.

    Pour plus d'informations, consultez Ajout d'un utilisateur de domaine en tant qu'administrateur de base de données.

  • Vous pouvez utiliser la procédure stockée suivante. Cette procédure stockée ne prend pas en charge le chiffrement.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_BACKUP_DB', @database_name='myssasdb', @file_path='D:\S3\ssas_db_backup.abf', [@ssas_apply_compression=1], [@ssas_overwrite_file=1];

    Les paramètres suivants sont obligatoires :

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

    • @database_name – Nom de la base de données SSAS que vous sauvegardez.

    • @file_path – Chemin d'accès au fichier de sauvegarde de la base de données SSAS. L'extension .abf est requise.

    Les paramètres suivants sont facultatifs :

    • @ssas_apply_compression – Pour spécifier s'il faut compresser la sauvegarde SSAS. Les valeurs valides sont 1 (Oui) et 0 (Non).

    • @ssas_overwrite_file – Pour spécifier s'il faut écraser le fichier de sauvegarde SSAS. Les valeurs valides sont 1 (Oui) et 0 (Non).

Restauration d'une base de données SSAS

Utilisez la procédure stockée suivante pour restaurer une base de données SSAS à partir d'une sauvegarde.

Vous ne pouvez pas restaurer une base de données si une base de données SSAS existante porte le même nom. La procédure stockée pour la restauration ne prend pas en charge les fichiers de sauvegarde chiffrés.

exec msdb.dbo.rds_msbi_task @task_type='SSAS_RESTORE_DB', @database_name='mynewssasdb', @file_path='D:\S3\ssas_db_backup.abf';

Les paramètres suivants sont obligatoires :

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

  • @database_name – Nom de la nouvelle base de données SSAS que vous restaurez.

  • @file_path – Chemin d'accès au fichier de sauvegarde SSAS.

Restauration d'une instance de base de données à une date spécifiée

P oint-in-time recovery (PITR) ne s'applique pas aux bases de données SSAS. Si vous effectuez ce type de restauration, seules les données SSAS du dernier instantané avant l'heure demandée sont disponibles sur l'instance restaurée.

Pour disposer de bases de données up-to-date SSAS sur une instance de base de données restaurée
  1. Sauvegardez vos bases de données SSAS dans le dossier D:\S3 de l'instance source.

  2. Transférez les fichiers de sauvegarde dans le compartiment S3.

  3. Transférez les fichiers de sauvegarde du compartiment S3 vers le dossier D:\S3 de l'instance restaurée.

  4. Exécutez la procédure stockée pour restaurer les bases de données SSAS sur l'instance restaurée.

    Vous pouvez également traiter à nouveau le projet SSAS pour restaurer les bases de données.

Modification du mode SSAS

Vous pouvez modifier le mode dans lequel SSAS s'exécute : tabulaire ou multidimensionnel. Pour modifier le mode, utilisez la AWS Management Console ou la AWS CLI afin de modifier les paramètres d'option dans l'option SSAS.

Important

Vous ne pouvez utiliser qu'un seul mode SSAS à la fois. Assurez-vous de supprimer toutes les bases de données SSAS avant de modifier de mode afin de ne pas recevoir d'erreur.

La procédure suivante de la console Amazon RDS modifie le mode SSAS en tabulaire et définit le paramètre MAX_MEMORY sur 70 %.

Pour modifier l'option SSAS
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Groupes d'options.

  3. Choisissez le groupe d'options avec l'option SSAS que vous souhaitez modifier (ssas-se-2017 dans les exemples précédents).

  4. Choisissez Modify option (Modifier l'option).

  5. Modifiez les paramètres d'option :

    1. Pour Max memory (Mémoire maximale), saisissez 70.

    2. Pour Mode, choisissez Tabular (Tabulaire).

  6. Choisissez Modify option (Modifier l'option).

L'exemple AWS CLI suivant modifie le mode SSAS en tabulaire et définit le paramètre MAX_MEMORY sur 70 %.

Pour que la commande CLI fonctionne, veillez à inclure tous les paramètres requis, même si vous ne les modifiez pas.

Pour modifier l'option SSAS
  • Utilisez l’une des commandes suivantes.

    Pour LinuxmacOS, ou Unix :

    aws rds add-option-to-option-group \ --option-group-name ssas-se-2017 \ --options "OptionName=SSAS,VpcSecurityGroupMemberships=sg-12345e67,OptionSettings=[{Name=MAX_MEMORY,Value=70},{Name=MODE,Value=Tabular}]" \ --apply-immediately

    Dans Windows :

    aws rds add-option-to-option-group ^ --option-group-name ssas-se-2017 ^ --options OptionName=SSAS,VpcSecurityGroupMemberships=sg-12345e67,OptionSettings=[{Name=MAX_MEMORY,Value=70},{Name=MODE,Value=Tabular}] ^ --apply-immediately

Désactivation de SSAS

Pour désactiver SSAS, supprimez l'option SSAS de son groupe d'options.

Important

Avant de supprimer l'option SSAS, supprimez vos bases de données SSAS.

Nous vous recommandons vivement de sauvegarder vos bases de données SSAS avant de les supprimer et de supprimer l'option SSAS.

Pour supprimer l'option SSAS de son groupe d'options
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Groupes d'options.

  3. Choisissez le groupe d'options avec l'option SSAS que vous souhaitez supprimer (ssas-se-2017 dans les exemples précédents).

  4. Choisissez Supprimer une option.

  5. Sous Deletion options (Options de suppression), choisissez SSAS pour Options to delete (Options à supprimer).

  6. Sous Appliquer immédiatement, choisissez Oui pour supprimer l'option immédiatement, ou Non pour la supprimer lors du prochain créneau de maintenance.

  7. Sélectionnez Delete.

Pour supprimer l'option SSAS de son groupe d'options
  • Utilisez l’une des commandes suivantes.

    Pour LinuxmacOS, ou Unix :

    aws rds remove-option-from-option-group \ --option-group-name ssas-se-2017 \ --options SSAS \ --apply-immediately

    Dans Windows :

    aws rds remove-option-from-option-group ^ --option-group-name ssas-se-2017 ^ --options SSAS ^ --apply-immediately

Résolution des problèmes rencontrés avec SSAS

Vous pouvez rencontrer les problèmes suivants lors de l'utilisation de SSAS.

Problème Type Suggestions de dépannage
Impossible de configurer l'option SSAS. Le mode SSAS demandé est new_mode, mais l'instance de base de données actuelle a number current_mode bases de données. Supprimez les bases de données existantes avant de passer au mode new_mode. Pour retrouver l'accès au mode current_mode pour la suppression de la base de données, mettez à jour le groupe d'options de base de données actuel ou attachez un nouveau groupe d'options avec %s comme valeur pour le paramètre d'option MODE de l'option SSAS. Événement RDS Vous ne pouvez pas modifier le mode SSAS si les bases de données SSAS utilisent toujours le mode actuel. Supprimez les bases de données SSAS, puis réessayez.
Impossible de supprimer l'option SSAS car il existe number bases de données mode existantes. L'option SSAS ne peut pas être supprimée tant que toutes les bases de données SSAS n'ont pas été supprimées. Ajoutez à nouveau l'option SSAS, supprimez toutes les bases de données SSAS et réessayez. Événement RDS Vous ne pouvez pas désactiver SSAS si vous possédez toujours des bases de données SSAS. Supprimez les bases de données SSAS, puis réessayez.
L'option SSAS n'est pas activée ou est en cours d'activation. Réessayez ultérieurement. Procédures stockées RDS Vous ne pouvez pas exécuter de procédures stockées SSAS lorsque l'option est désactivée ou lorsqu'elle est en cours d'activation.
L'option SSAS n'est pas configurée correctement. Assurez-vous que l'état d'appartenance au groupe d'options est « in-sync » (en cours de synchronisation) et consultez les journaux d'événements RDS pour trouver les messages d'erreur de configuration SSAS pertinents. Ensuite, réessayez. Si les erreurs ne sont pas résolues, contactez AWS Support. Procédures stockées RDS

Vous ne pouvez pas exécuter de procédures stockées SSAS lorsque votre appartenance au groupe d'options n'est pas dans l'état in-sync. Le cas échéant, l'état de configuration SSAS est incorrect.

Si l'état de votre appartenance au groupe d'options passe à failed à la suite de la modification de l'option SSAS, il y a deux explications possibles :

  1. L'option SSAS a été supprimée sans que les bases de données SSAS ne soient supprimées.

  2. Le mode SSAS a été mis à jour de tabulaire à multidimensionnel ou de multidimensionnel à tabulaire sans que les bases de données SSAS existantes ne soient supprimées.

Reconfigurez l'option SSAS, car RDS n'autorise qu'un seul mode SSAS à la fois et ne prend pas en charge la suppression des options SSAS en présence de bases de données SSAS.

Vérifiez les erreurs de configuration de votre instance SSAS dans les journaux d'événements RDS et résolvez les problèmes en conséquence.

Le déploiement a échoué. La modification ne peut être déployée que sur un serveur exécuté dans le mode deployment_file_mode. Le mode actuel du serveur est current_mode. Procédures stockées RDS

Vous ne pouvez pas déployer une base de données tabulaire sur un serveur multidimensionnel ou une base de données multidimensionnelle sur un serveur tabulaire.

Veillez à utiliser des fichiers avec le mode approprié et vérifiez que le paramètre d'option MODE est défini sur la valeur appropriée.

La restauration a échoué. Le fichier de sauvegarde ne peut être restauré que sur un serveur exécuté dans le mode restore_file_mode. Le mode actuel du serveur est current_mode. Procédures stockées RDS

Vous ne pouvez pas restaurer une base de données tabulaire sur un serveur multidimensionnel ou une base de données multidimensionnelle sur un serveur tabulaire.

Veillez à utiliser des fichiers avec le mode approprié et vérifiez que le paramètre d'option MODE est défini sur la valeur appropriée.

La restauration a échoué. Le fichier de sauvegarde et les versions de l'instance de base de données RDS sont incompatibles. Procédures stockées RDS

Vous ne pouvez pas restaurer une base de données SSAS dont la version est incompatible avec la version de l'instance SQL Server.

Pour de plus amples informations, veuillez consulter Niveau de compatibilité pour les modèles tabulaires et Niveau de compatibilité d'une base de données multidimensionnelle (Analysis Services) dans la documentation Microsoft.

La restauration a échoué. Le fichier de sauvegarde spécifié dans l'opération de restauration est endommagé ou n'est pas un fichier de sauvegarde SSAS. Assurez-vous que @rds_file_path est correctement formaté. Procédures stockées RDS

Vous ne pouvez pas restaurer une base de données SSAS avec un fichier endommagé.

Assurez-vous que le fichier n'est pas endommagé ou corrompu.

Cette erreur peut également être déclenchée lorsque @rds_file_path n'est pas correctement formaté (par exemple, il comporte des double barres obliques inverses, comme dans D:\S3\\incorrect_format.abf).

La restauration a échoué. Le nom de la base de données restaurée ne peut pas contenir de mots réservés ou de caractères non valides (. , ; ' ` : / \\ * | ? \" & % $ ! + = ( ) [ ] { } < >) et ne peut pas comporter plus de 100 caractères. Procédures stockées RDS

Le nom de la base de données restaurée ne peut pas contenir de mots réservés ou de caractères non valides et ne peut pas comporter plus de 100 caractères.

Pour voir les conventions de dénomination d'objets SSAS, veuillez consulter Règles d'attribution de noms aux objets (Analysis Services) dans la documentation Microsoft.

Le nom de rôle fourni n'est pas valide. Le nom de rôle ne peut pas contenir de chaînes réservées. Procédures stockées RDS

Le nom de rôle ne peut pas contenir de chaînes réservées.

Pour voir les conventions de dénomination d'objets SSAS, veuillez consulter Règles d'attribution de noms aux objets (Analysis Services) dans la documentation Microsoft.

Le nom de rôle fourni n'est pas valide. Le nom de rôle ne peut pas contenir les caractères réservés suivants : . , ; ' ` : / \\ * | ? \" & % $ ! + = ( ) [ ] { } < > Procédures stockées RDS

Le nom de rôle ne peut pas contenir de caractères réservés.

Pour voir les conventions de dénomination d'objets SSAS, veuillez consulter Règles d'attribution de noms aux objets (Analysis Services) dans la documentation Microsoft.