Comando Sequence (TMSL)

Si applica a: SQL Server 2016 e versioni successive di Analysis Services Azure Analysis Services Fabric/Power BI Premium

Usare il comando Sequence per eseguire un set consecutivo di operazioni in modalità batch in un'istanza di Analysis Services. L'intero comando e tutte le parti del componente devono essere completate in modo che la transazione abbia esito positivo.

I comandi seguenti possono essere eseguiti in sequenza, ad eccezione del comando Aggiorna che viene eseguito in parallelo per elaborare più oggetti simultaneamente.

Richiesta

maxParallelism è una proprietà facoltativa che determina se le operazioni di aggiornamento vengono eseguite in sequenza o in parallelo.

Il comportamento predefinito consiste nell'usare il più possibile parallelismo. Incorporando Aggiorna all'interno della sequenza, è possibile controllare il numero esatto di thread usati durante l'elaborazione, inclusa la limitazione dell'operazione a un solo thread.

Nota

L'intero assegnato a maxParallelism determina il numero massimo di thread usati durante l'elaborazione. I valori validi sono un intero positivo. L'impostazione del valore su 1 non è parallela (usa un thread).

Solo l'aggiornamento viene eseguito in parallelo. Se si modifica maxParallelism per usare un numero fisso di thread, assicurarsi di esaminare le proprietà nel comando Aggiorna (TMSL) per comprendere l'impatto potenziale. È possibile impostare le proprietà in modo da compromettere il parallelismo anche quando sono stati resi disponibili più thread. La sequenza di tipi di aggiornamento seguente ti darà il miglior grado di parallelismo:

  • In primo luogo, specificare Aggiorna per tutti gli oggetti usando ClearValues

  • Specificare quindi Aggiorna per tutti gli oggetti usando DataOnly

  • Specificare l'ultimo aggiornamento per tutti gli oggetti usando Full, Calculate, Automatic o Add

Qualsiasi variazione su questo interromperà il parallelismo.

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

Risposta

Restituisce un risultato vuoto quando il comando ha esito positivo. In caso contrario, viene restituita un'eccezione XMLA.

Utilizzo (endpoint)

Questo elemento di comando viene usato in un'istruzione del metodo Execute su un endpoint XMLA, esposto nei modi seguenti:

  • Come finestra XMLA in SQL Server Management Studio (SSMS)

  • Come file di input per il cmdlet invoke-ascmd di PowerShell

  • Come input per un'attività SSIS o un processo SQL Server Agent

Non è possibile generare uno script pronto per questo comando da SSMS. È invece possibile iniziare con un esempio o scrivere il proprio.