Partilhar via


Referência de TMSL (Tabular Model Scripting Language)

Aplica-se a: SQL Server 2016 e posterior, Analysis Services Azure Analysis Services Fabric ou Power BI Premium

TMSL (Tabular Model Scripting Language) é a sintaxe de definição de modelo de objeto e comando para modelos de dados tabulares no nível de compatibilidade 1200 ou superior. O TMSL se comunica com o Analysis Services por meio do protocolo XMLA, onde o XMLA.Execute método aceita scripts de instrução baseados em JSON em TMSL, bem como os scripts tradicionais baseados em XML em ASSL (Analysis Services Scripting Language para XMLA).

Elementos-chave da TMSL:

  • Metadados tabulares baseados na semântica do modelo tabular.

    Um modelo tabular é composto por tabelas, colunas e relações. Definições de objeto equivalentes em TMSL são agora, não surpreendentemente, tabelas, colunas, relacionamentos e assim por diante. Um novo mecanismo de metadados oferece suporte a essas definições.

  • As definições de objeto são estruturadas como JSON em vez de XML.

    Com exceção de como a carga é formatada (em JSON ou XML), TMSL e ASSL são funcionalmente equivalentes em como fornecem comandos e metadados para métodos XMLA usados para comunicação de servidor e transferência de dados.

Como usar TMSL

A maneira mais fácil de explorar scripts TMSL é usar os comandos CREATE, ALTER, DELETE ou Process no SQL Server Management Studio (SSMS) em um modelo que você já conhece.

  1. Encontre o comando que você deseja usar: Referência TMSL - Comandos

  2. Verifique a referência de definição de objeto para objetos usados no comando: Referência TMSL - Objetos

  3. Escolha um método para executar o script TMSL:

Esquema de definição de modelo

O trecho a seguir apresenta uma versão abreviada do esquema para o nível de compatibilidade de banco de dados 1200 e superior, colapsada para destacar os principais objetos.

"database": {
  "description": "Database object of Tabular Object Model (TOM)",
  "type": "object",
  "properties": {
    "name": {...},
    "id": {...},
    "description": {...},
    "compatibilityLevel": {...},
    "readWriteMode": {...},
    "model": {
      "description": "Model object of Tabular Object Model (TOM)",
      "type": "object",
      "properties": {
        "name": {...},
        "description": {...},
        "storageLocation": {...},
        "defaultMode": {...},
        "defaultDataView": {...},
        "culture": {...},
        "collation": {...},
        "annotations": {...},
        "tables": {...},
        "relationships": {...},
        "dataSources": {...},
        "perspectives": {...},
        "cultures": {...},
        "roles": {...},
        // "functions": {...}, // For database compatibility level 1702 and above
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}

Linguagens de script no Analysis Services

O Analysis Services suporta linguagens de script ASSL e TMSL. Apenas os modelos tabulares criados no nível de compatibilidade 1200 ou superior são descritos no TMS no formato JSON.

A ASSL (Analysis Services Scripting Language para XMLA) foi a primeira linguagem de script e ainda é a única linguagem de script para modelos multidimensionais e modelos tabulares em níveis de compatibilidade mais baixos (1100 ou 1103). Em ASSL, modelos tabulares a 110x são descritos em termos multidimensionais, como cubo (para um modelo) e measuregroup (para uma tabela).

Observação

Em [SQL Server Data Tools (SSDT), você pode atualizar um modelo tabular de versão anterior para usar TMSL alternando seu Nível de Compatibilidade para 1200 ou superior. Lembre-se que a atualização é irreversível. Antes de atualizar, faça backup do seu modelo caso precise da versão original mais tarde.

A tabela a seguir é a matriz de linguagem de script para modelos de dados do Analysis Services em diferentes plataformas/versões em níveis de compatibilidade específicos.

Versão Multidimensional Tabela 110x Tabela 1200 Tabela 1400 Tabela 1500 Tabela 1600
Power BI Premium NA NA NA NA TMSL TMSL
Azure Analysis Services NA NA TMSL TMSL TMSL TMSL
SQL Server 2022 Analysis Services ASSL ASSL TMSL TMSL TMSL TMSL
SQL Server 2019 Analysis Services ASSL ASSL TMSL TMSL TMSL NA
SQL Server 2017 Analysis Services ASSL ASSL TMSL TMSL NA NA
SQL Server 2016 Analysis Services ASSL ASSL TMSL NA NA NA
SQL Server 2014 Analysis Services ASSL ASSL NA NA NA NA
SQL Server 2012 Analysis Services ASSL ASSL NA NA NA NA