Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta seção explica 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 (SSAS Tabular).
Para obter instruções sobre como alterar a partição usada ou exibir informações sobre a partição, consulte Alterar a Partição DirectQuery (SSAS Tabular).
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 SSDT (SQL Server Data Tools).
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 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.
Se você tiver várias partições em uma tabela e selecionar uma partição como a partição DirectQuery, por padrão, todas as outras partições serão marcadas como sendo apenas para uso na memória.
Partições em modelos armazenados em cache e em modelos DirectQuery
Ao configurar uma partição do DirectQuery, você deve especificar opções de processamento para a partição.
Há duas opções de processamento para a partição DirectQuery. Para definir essa propriedade, use o Gerenciador de Partições no SSDT (SQL Server Data Tools) ou no SQL Server Management Studio e selecione a propriedade Opção de Processamento . A tabela a seguir lista os valores dessa propriedade e descreve os efeitos de cada valor quando combinados com a propriedade DirectQueryUsage na cadeia de conexão:
| Propriedade DirectQueryUsage | Opção de Processamento propriedade | Anotações |
|---|---|---|
| DirectQuery | Nunca processe essa partição | Quando o modelo está usando apenas o DirectQuery, o processamento nunca é necessário. Em modelos híbridos, você pode configurar a partição DirectQuery para nunca ser processada. Por exemplo, se você estiver operando em um conjunto de dados muito grande e não quiser que os resultados completos sejam adicionados ao cache, poderá especificar que a partição DirectQuery inclua a união de resultados para todas as outras partições na tabela e, em seguida, nunca processe a união. Consultas que vão para a fonte relacional não serão afetadas e consultas em dados armazenados em cache combinarão dados das outras partições |
| InMemory com DirectQuery | Permitir que a partição seja processada | Se o modelo estiver usando o modo híbrido, você deverá usar a mesma partição para consultas na memória e consultas na fonte de dados do DirectQuery. |