Sequence, commande (TMSL)

S’applique à : SQL Server 2016 et ultérieur Analysis Services Azure Analysis Services Power BI Premium

Utilisez la commande Sequence pour exécuter un ensemble consécutif d’opérations en mode batch sur une instance de Analysis Services. La commande entière et tous ses composants doivent s’exécuter afin que la transaction aboutisse.

Les commandes suivantes peuvent être exécutées de manière séquentielle, à l’exception de la commande Refresh 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 de façon séquentielle ou en parallèle.

Le comportement par défaut consiste à utiliser le plus de parallélisme possible. En incorporant l' actualisation dans l' ordre, vous pouvez contrôler le nombre exact de threads utilisés pendant le traitement, y compris la limitation de l’opération à un seul thread.

Notes

L’entier affecté à maxParallelism détermine le nombre maximal de threads utilisés lors du traitement. Les valeurs valides sont tout entier positif. L’affectation de la valeur 1 à la valeur n’est pas parallèle (utilise un thread).

Seule l' actualisation s’exécute en parallèle. Si vous modifiez maxParallelism pour qu’il utilise un nombre fixe de threads, veillez à passer en revue les propriétés de la commande Actualiser (TMSL) pour comprendre l’impact potentiel. Il est possible de définir des propriétés d’une manière qui sous-mine le parallélisme, même lorsque plusieurs threads sont disponibles. La séquence suivante de types d’actualisation vous donne le meilleur degré de parallélisme :

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

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

  • Dernière spécification de l’actualisation pour tous les objets à l’aide de total, calculer, automatique ou ajouter

Toute variation à ce niveau va rompre 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 aboutit. Dans le cas contraire, 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ée des manières suivantes :

  • 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 d’une tâche SSIS ou d’un travail de l’Agent de SQL Server

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