Compartir a través de


Comando Sequence (TMSL)

Se aplica a: SQL Server 2016 y versiones posteriores Analysis Services Azure Analysis Services Fabric/Power BI Premium

Use el comando Sequence para ejecutar un conjunto consecutivo de operaciones en modo por lotes en una instancia de Analysis Services. Todo el comando y todas sus partes componentes deben completarse para que la transacción se realice correctamente.

Los siguientes comandos se pueden ejecutar secuencialmente, excepto el comando Refresh que se ejecuta en paralelo para procesar varios objetos simultáneamente.

Solicitud

maxParallelism es una propiedad opcional que determina si las operaciones de actualización se ejecutan secuencialmente o en paralelo.

El comportamiento predeterminado es usar tanto paralelismo como sea posible. Al insertar la actualización en Sequence, puede controlar el número exacto de subprocesos usados durante el procesamiento, incluida la limitación de la operación a un solo subproceso.

Nota:

El entero asignado a maxParallelism determina el número máximo de subprocesos usados durante el procesamiento. Los valores válidos son cualquier entero positivo. Establecer el valor en 1 es igual a no paralelo (usa un subproceso).

Solo se ejecuta Refresh en paralelo. Si modifica maxParallelism para usar un número fijo de subprocesos, asegúrese de revisar las propiedades del comando Refresh (TMSL) para comprender el posible impacto. Es posible establecer propiedades de forma que desbilite el paralelismo incluso cuando haya puesto varios subprocesos disponibles. La siguiente secuencia de tipos de actualización le proporcionará el mejor grado de paralelismo:

  • En primer lugar, especifique Refresh para todos los objetos mediante ClearValues.

  • A continuación, especifique Actualizar para todos los objetos mediante DataOnly.

  • Especificar por última vez Actualizar para todos los objetos mediante Full, Calculate, Automatic o Add

Cualquier variación de esto interrumpirá el paralelismo.

{   
  "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

Devuelve un resultado vacío cuando el comando se realiza correctamente. De lo contrario, se devuelve una excepción XMLA.

Uso (puntos de conexión)

Este elemento de comando se usa en una instrucción del método Execute a través de un punto de conexión XMLA, expuesto de las siguientes maneras:

  • Como ventana XMLA en SQL Server Management Studio (SSMS)

  • Como archivo de entrada para el cmdlet de PowerShell invoke-ascmd

  • Como entrada para una tarea de SSIS o un trabajo de Agente SQL Server

No se puede generar un script listo para este comando desde SSMS. En su lugar, puede empezar con un ejemplo o escribir el suyo propio.