Partager via


Planifier des tâches d’administration SSAS avec SQL Server Agent

À l’aide du service SQL Server Agent, vous pouvez planifier des tâches d’administration Analysis Services à exécuter dans l’ordre et les heures dont vous avez besoin. Les tâches planifiées vous aident à automatiser les processus qui s’exécutent sur des cycles réguliers ou prévisibles. Vous pouvez planifier des tâches administratives, telles que le traitement des cubes, à exécuter pendant les périodes de ralentissement de l'activité commerciale. Vous pouvez également déterminer l’ordre dans lequel les tâches s’exécutent en créant des étapes de travail dans un travail SQL Server Agent. Par exemple, vous pouvez traiter un cube, puis effectuer une sauvegarde du cube.

Les étapes du travail vous permettent de contrôler le flux d’exécution. Si un travail échoue, vous pouvez configurer SQL Server Agent pour continuer à exécuter les tâches restantes ou arrêter l’exécution. Vous pouvez également configurer SQL Server Agent pour envoyer des notifications sur la réussite ou l’échec de l’exécution du travail.

Cette rubrique est une procédure pas à pas qui montre deux façons d’utiliser SQL Server Agent pour exécuter un script XMLA. Le premier exemple montre comment planifier le traitement d’une dimension unique. L’exemple 2 montre comment combiner des tâches de traitement en un seul script qui s’exécute selon une planification. Pour effectuer cette procédure pas à pas, vous devez respecter les conditions préalables suivantes.

Conditions préalables

Le service SQL Server Agent doit être installé.

Par défaut, les travaux s’exécutent sous le compte de service. Dans SQL Server 2012, le compte par défaut de SQL Server Agent est NT Service\SQLAgent$<instancename>. Pour effectuer une tâche de sauvegarde ou de traitement, ce compte doit être administrateur système sur l’instance Analysis Services. Pour plus d’informations, consultez Accorder des autorisations d’administrateur de serveur (Analysis Services).

Vous devez également utiliser une base de données de test. Vous pouvez déployer l’exemple de base de données multidimensionnel AdventureWorks ou un projet à partir du didacticiel multidimensionnel Analysis Services à utiliser dans cette procédure pas à pas. Pour plus d’informations, consultez Installer des exemples de données et de projets pour le didacticiel de modélisation multidimensionnelle Analysis Services.

Exemple 1 : Traitement d’une dimension dans une tâche planifiée

Cet exemple montre comment créer et planifier un travail qui traite une dimension.

Une tâche planifiée d'Analysis Services est un script XMLA incorporé dans un job SQL Server Agent. Ce travail est planifié pour s’exécuter à des heures et une fréquence souhaitées. Étant donné que SQL Server Agent fait partie de SQL Server, vous travaillez avec le moteur de base de données et Analysis Services pour créer et planifier une tâche d’administration.

Créer un script pour le traitement d’une dimension dans un travail SQL Server Agent

  1. Dans SQL Server Management Studio, connectez-vous à Analysis Services. Ouvrez un dossier de base de données et recherchez une dimension. Cliquez avec le bouton droit sur la dimension et sélectionnez Processus.

  2. Dans la boîte de dialogue Dimension de processus , dans la colonne Options de processus sous liste d’objets, vérifiez que l’option de cette colonne est Process Full. Si ce n’est pas le cas, sous Options de processus, cliquez sur l’option, puis sélectionnez Processus complet dans la liste déroulante.

  3. Cliquez sur Script.

    Cette étape ouvre une fenêtre de requête XML qui contient le script XMLA qui traite la dimension.

  4. Dans la boîte de dialogue Dimension de processus , cliquez sur Annuler pour fermer la boîte de dialogue.

  5. Dans la fenêtre Requête XMLA , mettez en surbrillance le script XMLA, cliquez avec le bouton droit sur le script mis en surbrillance, puis sélectionnez Copier.

    Cette étape copie le script XMLA dans le Presse-papiers Windows. Vous pouvez laisser le script XMLA dans le Presse-papiers ou le coller dans le Bloc-notes ou dans un autre éditeur de texte. Voici un exemple de script XMLA.

    <Batch xmlns="https://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">  
        <Object>  
          <DatabaseID>Adventure Works DW Multidimensional</DatabaseID>  
          <DimensionID>Dim Account</DimensionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
     </Parallel>  
    </Batch>  
    

Créer et planifier le travail de traitement de dimension

  1. Connectez-vous à une instance du moteur de base de données, puis ouvrez l’Explorateur d’objets.

  2. Développez SQL Server Agent.

  3. Cliquez avec le bouton droit sur Travaux et sélectionnez Nouveau travail.

  4. Dans la boîte de dialogue Nouveau travail , entrez un nom de travail dans Nom.

  5. Sous Sélectionner une page, sélectionnez Étapes, puis cliquez sur Nouveau.

  6. Dans la boîte de dialogue Nouvelle étape du travail , entrez un nom d’étape dans le nom de l’étape.

  7. Dans Le serveur, tapez localhost pour une instance par défaut d’Analysis Services et le nom > de l’instance localhost\<instance pour une instance nommée.

    Si vous exécutez le travail à partir d’un ordinateur distant, utilisez le nom du serveur et le nom de l’instance où le travail s’exécutera. Utilisez le format <nom du serveur> pour une instance par défaut, et <nom du serveur>\<nom de l’instance> pour une instance nommée.

  8. Dans Type, sélectionnez commande SQL Server Analysis Services.

  9. Dans Commande, cliquez avec le bouton droit et sélectionnez Coller. Le script XMLA que vous avez généré à l’étape précédente doit apparaître dans la fenêtre de commande.

  10. Cliquez sur OK.

  11. Sous Sélectionner une page, cliquez sur Planifications, puis sur Nouveau.

  12. Dans la boîte de dialogue Nouvelle planification du travail , entrez un nom de planification dans Nom, puis cliquez sur OK.

    Cette étape crée une planification pour dimanche à 12h00. L’étape suivante vous montre comment exécuter manuellement le travail. Vous pouvez également spécifier une planification qui exécute le travail lorsque vous la surveillez.

  13. Dans la boîte de dialogue Nouveau travail , cliquez sur OK.

  14. Dans l’Explorateur d’objets, développez Travaux, cliquez avec le bouton droit sur le travail que vous avez créé, puis sélectionnez Démarrer le travail à l’étape.

    Étant donné que le travail n’a qu’une seule étape, le travail s’exécute immédiatement. Si le travail contient plusieurs étapes, vous pouvez sélectionner l’étape à laquelle le travail doit démarrer.

  15. Une fois la tâche terminée, cliquez sur Fermer.

Exemple 2 : Traitement par lots d’une dimension et d’une partition dans une tâche planifiée

Les procédures décrites dans cet exemple montrent comment créer et planifier un travail qui traite par lots la dimension d'une base de données Analysis Services, tout en traitant une partition de cube qui dépend de cette dimension pour l’agrégation. Pour plus d’informations sur le traitement par lots des objets Analysis Services, consultez Traitement par lots (Analysis Services).

Créer un script pour le traitement par lots d’une dimension et d’une partition dans un travail SQL Server Agent

  1. À l’aide de la même base de données, développez Dimensions, cliquez avec le bouton droit sur la dimension Client , puis sélectionnez Processus.

  2. Dans la boîte de dialogue Dimension de processus , dans la colonne Options de processus sous liste d’objets, vérifiez que l’option de cette colonne est Process Full.

  3. Cliquez sur Script.

    Cette étape ouvre une fenêtre de requête XML qui contient le script XMLA qui traite la dimension.

  4. Dans la boîte de dialogue Dimension de processus , cliquez sur Annuler pour fermer la boîte de dialogue.

  5. Développez Cubes, développez Adventure Works, développez Groupes de mesures, développez Internet Sales, développez Partitions, cliquez avec le bouton droit sur la dernière partition de la liste, puis sélectionnez Processus.

  6. Dans la boîte de dialogue Partition de processus , dans la colonne Options de processus sous Liste d’objets, vérifiez que l’option de cette colonne est Process Full.

  7. Cliquez sur Script.

    Cette étape ouvre une deuxième fenêtre de requête XML qui contient le script XMLA qui traite la partition.

  8. Dans la boîte de dialogue Traiter la partition , cliquez sur Annuler pour fermer l’éditeur.

    À ce stade, vous devez fusionner les deux scripts et vous assurer que la dimension est traitée en premier.

    Avertissement

    Si la partition est traitée en premier, le traitement de dimension suivant entraîne l’annulation du traitement de la partition. La partition nécessiterait ensuite un deuxième traitement pour atteindre un état traité.

  9. Dans la fenêtre de requête XMLA qui contient le script XMLA qui traite la partition, mettez en surbrillance le code à l'intérieur des balises Batch et Parallel, cliquez avec le bouton droit de la souris sur le script mis en surbrillance et sélectionnez Copier.

    <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
        <Object>  
          <DatabaseID> Adventure Works DW Multidimensional</DatabaseID>  
          <CubeID>Adventure Works</CubeID>  
          <MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>  
          <PartitionID> Internet_Sales_2004</PartitionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
    
  10. Ouvrez la fenêtre requête XMLA qui contient le script XMLA qui traite la dimension. Cliquez avec le bouton droit dans le script à gauche de la </Process> balise, puis sélectionnez Coller.

    L’exemple suivant montre le script XMLA révisé.

    <Batch xmlns="https://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">  
        <Object>  
          <DatabaseID>Adventure Works DW Multidimensional</DatabaseID>  
          <DimensionID>Dim Customer</DimensionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
      <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
        <Object>  
          <DatabaseID>Adventure Works DW Multidimensional</DatabaseID>  
          <CubeID>Adventure Works</CubeID>  
          <MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>  
          <PartitionID>Internet_Sales_2004</PartitionID>  
        </Object>  
        <Type>ProcessFull</Type>  
        <WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
      </Process>  
     </Parallel>  
    </Batch>  
    
  11. Mettez en surbrillance le script XMLA révisé, cliquez avec le bouton droit sur le script mis en surbrillance, puis sélectionnez Copier.

  12. Cette étape copie le script XMLA dans le Presse-papiers Windows. Vous pouvez laisser le script XMLA dans le Presse-papiers, l’enregistrer dans un fichier ou le coller dans le Bloc-notes ou dans un autre éditeur de texte.

Créer et planifier le travail de traitement par lots

  1. Connectez-vous à une instance de SQL Server, puis ouvrez l’Explorateur d’objets.

  2. Développez SQL Server Agent. Démarrez le service s'il n'est pas déjà en cours d'exécution.

  3. Cliquez avec le bouton droit sur Travaux et sélectionnez Nouveau travail.

  4. Dans la boîte de dialogue Nouveau travail , entrez un nom de travail dans Nom.

  5. Dans Les étapes, cliquez sur Nouveau.

  6. Dans la boîte de dialogue Nouvelle étape du travail , entrez un nom d’étape dans le nom de l’étape.

  7. Dans Type, sélectionnez commande SQL Server Analysis Services.

  8. Dans Exécuter en tant que, sélectionnez le compte de service SQL Server Agent. Rappelez-vous de la section Conditions préalables que ce compte doit disposer d’autorisations d’administration sur Analysis Services.

  9. Dans Le serveur, spécifiez le nom du serveur de l’instance Analysis Services.

  10. Dans Commande, cliquez avec le bouton droit et sélectionnez Coller.

  11. Cliquez sur OK.

  12. Dans la page Planifications , cliquez sur Nouveau.

  13. Dans la boîte de dialogue Nouvelle planification du travail , entrez un nom de planification dans Nom, puis cliquez sur OK.

    Cette étape crée une planification pour dimanche à 12h00. L’étape suivante vous montre comment exécuter manuellement le travail. Vous pouvez également sélectionner une planification qui exécutera la tâche lorsque vous la surveillez.

  14. Cliquez sur OK pour fermer la boîte de dialogue.

  15. Dans l’Explorateur d’objets, développez Travaux, cliquez avec le bouton droit sur le travail que vous avez créé, puis sélectionnez Démarrer le travail à l’étape.

    Étant donné que le travail n’a qu’une seule étape, le travail s’exécute immédiatement. Si le travail contient plusieurs étapes, vous pouvez sélectionner l’étape à laquelle le travail doit démarrer.

  16. Une fois la tâche terminée, cliquez sur Fermer.

Voir aussi

Options et paramètres de traitement (Analysis Services)
Script de tâches d’administration dans Analysis Services