Sequence, commande (TMSL)

S’applique à : SQL Server 2016 et versions ultérieures Analysis Services Azure Analysis Services Fabric/Power BI Premium

Utilisez la commande Sequence pour exécuter un ensemble consécutif d’opérations en mode batch sur un instance d’Analysis Services. L’ensemble de la commande et tous ses composants doivent être terminés pour que la transaction aboutisse.

Les commandes suivantes peuvent être exécutées séquentiellement, à l’exception de la commande Actualiser qui s’exécute en parallèle pour traiter plusieurs objets simultanément.

Requête

maxParallelism est une propriété facultative qui détermine si les opérations d’actualisation s’exécutent séquentiellement ou en parallèle.

Le comportement par défaut consiste à utiliser autant de parallélisme que possible. En incorporant Refresh dans Sequence, vous pouvez contrôler le nombre exact de threads utilisés pendant le traitement, notamment en limitant l’opération à un seul thread.

Notes

L’entier affecté à maxParallelism détermine le nombre maximal de threads utilisés pendant le traitement. Les valeurs valides sont n’importe quel entier positif. Définir la valeur sur 1 n’est pas parallèle (utilise un thread).

L’actualisation s’exécute uniquement en parallèle. Si vous modifiez maxParallelism pour utiliser un nombre fixe de threads, veillez à passer en revue les propriétés de la commande Refresh (TMSL) pour comprendre l’impact potentiel. Il est possible de définir des propriétés d’une manière qui sape le parallélisme, même lorsque vous avez mis plusieurs threads à disposition. La séquence suivante de types d’actualisation vous donnera le meilleur degré de parallélisme :

  • Tout d’abord, spécifiez Actualiser pour tous les objets à l’aide de ClearValues

  • Ensuite, spécifiez Actualiser pour tous les objets à l’aide de DataOnly

  • Last specify Refresh for all objects using Full, Calculate, Automatic ou Add

Toute variation sur ce point brisera le parallélisme.

{   
  "sequence":    
    {   
      "maxParallelism": 3,   
      "operations": [   
        {   
          "mergepartitions": {   
            "sources": [   
              {   
                "database": "salesdatabase",   
                "table": "Sales",   
                "partition": "partition1"   
              },   
              {   
                "database": "salesdatabase",   
                "table": "Sales",   
                "partition": "partition2"   
              }   
            ]   
          }   
        },   
        {   
          "refresh": {   
            "type": "calculate",   
            "objects": [
              {   
              "database": "salesdatabase"   
              }
            ] 
          }   
        }   
      ]   
    }      
}   

response

Retourne un résultat vide lorsque la commande réussit. Sinon, une exception XMLA est retournée.

Utilisation (points de terminaison)

Cet élément de commande est utilisé dans une instruction de la méthode Execute sur un point de terminaison XMLA, exposé de la manière suivante :

  • En tant que fenêtre XMLA dans SQL Server Management Studio (SSMS)

  • En tant que fichier d’entrée de l’applet de commande PowerShell invoke-ascmd

  • En tant qu’entrée pour une tâche SSIS ou SQL Server Agent travail

Vous ne pouvez pas générer de script prêt à l’utilisation de cette commande à partir de SSMS. Au lieu de cela, vous pouvez commencer par un exemple ou écrire le vôtre.