Definir partições em modelos do DirectQuery

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Este artigo descreve como as partições são usadas em modelos DirectQuery. Para obter informações mais gerais sobre partições em modelos tabulares, consulte Partições em modelos tabulares.

Observação

Embora uma tabela possa ter várias partições, no modo DirectQuery, apenas uma delas pode ser designada para uso na execução da consulta. O requisito de partição única se aplica a modelos DirectQuery em todos os níveis de compatibilidade.

Usando partições no modo DirectQuery

Para cada tabela, você deve especificar uma única partição a ser usada como a fonte de dados do DirectQuery. Se houver várias partições, quando você alternar o modelo para habilitar o modo DirectQuery, por padrão, a primeira partição criada na tabela será sinalizada como a partição DirectQuery. Você pode alterar isso mais tarde usando o Gerenciador de Partições no designer de modelos tabulares no Visual Studio.

Por que permitir apenas uma única partição no modo DirectQuery? Em modelos de tabela (como em modelos OLAP), as partições de uma tabela são definidas por consultas do PowerQuery M ou consultas SQL. O desenvolvedor que cria a definição de partição é responsável por garantir que as partições não se sobreponham. O Analysis Services não verifica se os registros pertencem a uma ou várias partições.

Partições em um modelo tabular armazenado em cache se comportam da mesma maneira. Se você estiver usando um modelo na memória, enquanto o cache estiver sendo acessado, as fórmulas DAX serão avaliadas para cada partição e os resultados serão combinados. No entanto, quando um modelo de tabela usa o modo DirectQuery, seria impossível avaliar várias partições, combinar os resultados e convertê-las em uma instrução SQL para enviar ao armazenamento de dados relacional. Isso pode levar a uma perda inaceitável de desempenho, bem como possíveis imprecisões à medida que os resultados são agregados.

Portanto, para consultas respondidas no modo DirectQuery, o servidor usa uma única partição que foi marcada como a partição primária para acesso ao DirectQuery, chamada de partição DirectQuery. A consulta SQL especificada na definição dessa partição define o conjunto completo de dados que podem ser usados para responder a consultas no modo DirectQuery.

Se você não definir explicitamente uma partição, o mecanismo simplesmente emitirá uma consulta SQL para toda a fonte de dados relacional, executará todas as operações baseadas em conjunto determinadas pela fórmula DAX e retornará os resultados da consulta.

Alterar uma partição do DirectQuery

Como apenas uma partição em uma tabela pode ser designada como a partição DirectQuery, por padrão, o Analysis Services usa a primeira partição que foi criada na tabela. Durante a criação do projeto de modelo, você pode alterar a partição do DirectQuery usando o Gerenciador de Partições. Para modelos implantados, você pode alterar a partição do DirectQuery usando o SQL Server Management Studio.

Alterar a partição DirectQuery para um projeto de modelo de tabela

  1. No Visual Studio, no designer de modelos, clique na tabela (guia) que contém a tabela particionada.

  2. Clique em Extensões>Tabela>Partições.

  3. No Gerenciador de Partições, a partição que é a partição de Consulta Direta atual indicada pelo prefixo (DirectQuery) no nome da partição.

    Selecione uma partição diferente na lista partições e clique em Definir como DirectQuery. O botão Definir como DirectQuery não está habilitado quando a partição do DirectQuery atual é selecionada e não fica visível se o modelo não tiver sido habilitado para o modo de Consulta Direta.

Alterar a partição DirectQuery para um modelo de tabela implantado

  1. No SQL Server Management Studio, abra o banco de dados de modelo no Pesquisador de Objetos.

  2. Expanda o nó Tabelas , clique com o botão direito do mouse na tabela particionada e selecione Partições.

    A partição designada para uso com o modo DirectQuery tem o prefixo (DirectQuery) no nome da partição.

  3. Para alterar para uma partição diferente, clique no ícone da barra de ferramentas Consulta Direta para abrir a caixa de diálogo Definir Partição DirectQuery. O ícone da barra de ferramentas do DirectQuery não está disponível em modelos que não foram habilitados para Consulta Direta.

  4. Escolha uma partição diferente na lista suspensa Nome da Partição e, em seguida, altere as opções de processamento na partição, se necessário.

Consulte também

Partitions