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.
Este tópico fornece um passo a passo do processo de design e implantação para modelos do DirectQuery. Você pode configurar o DirectQuery para usar somente dados relacionais (somente DirectQuery) ou configurar o modelo para alternar entre o uso somente de dados armazenados em cache ou somente dados relacionais (modo híbrido). Este tópico explica o processo de implementação para ambos os modos e descreve possíveis diferenças nos resultados da consulta, dependendo do modo e da configuração de segurança.
Etapas de design e implantação
Comparando configurações do DirectQuery
Etapas de design e implantação
Etapa 1. Criar a solução
Independentemente do modo que você usará, você deve examinar as informações que descrevem as limitações nos dados que podem ser usados em modelos DirectQuery. Por exemplo, todos os dados usados em seu modelo e relatórios devem vir de um único banco de dados do SQL Server. Para obter mais informações, consulte o Modo DirectQuery (SSAS Tabular).
Além disso, examine as limitações de medidas e colunas calculadas e determine se as fórmulas que você pretende usar são compatíveis com o modo DirectQuery. Talvez seja necessário remover ou modificar os seguintes elementos:
Não há suporte para colunas calculadas.
Dados colados em cópia não podem ser usados. Se você importar um modelo PowerPivot para iniciar sua solução, exclua tabelas vinculadas antes de importar a solução, pois esses dados não podem ser excluídos e bloquearão a validação do DirectQuery.
Etapa 2. Habilitar o modo DirectQuery no designer de modelos
Por padrão, o DirectQuery está desabilitado. Portanto, você deve configurar o ambiente de design para dar suporte ao modo DirectQuery.
Clique com o botão direito do mouse no nó Model.bim no Gerenciador de Soluções e defina a propriedade, Modo DirectQuery, como On.
Você pode ativar o DirectQuery a qualquer momento; no entanto, para garantir que você não crie colunas ou fórmulas incompatíveis com o modo DirectQuery, recomendamos que você habilite o modo DirectQuery desde o início.
Inicialmente, até mesmo os modelos do DirectQuery são sempre criados na memória. O modo de consulta padrão para o banco de dados do workspace também é definido como DirectQuery com In-Memory. Esse modo de trabalho híbrido permite que você use o cache de dados importados para melhorar o desempenho durante o processo de design do modelo, ao mesmo tempo em que valida o modelo em relação aos requisitos do DirectQuery.
Etapa 3. Resolver erros de validação
Se você receber erros de validação quando ativar o DirectQuery ou adicionar novos dados ou fórmulas, abra a Lista de Erros do Visual Studio e execute as ações necessárias.
Altere as configurações de propriedade necessárias para o modo DirectQuery, conforme descrito nas mensagens de erro.
Remova colunas calculadas. Se você precisar de uma coluna calculada para uma determinada medida, sempre poderá criar a coluna usando o Designer de Consulta Relacional (SSAS) fornecido no assistente de Importação de Tabela.
Modifique ou remova fórmulas incompatíveis com o modo DirectQuery. Se você precisar de uma função específica para um cálculo, considere maneiras de fornecer um equivalente usando o Transact-SQL.
Adicione dados conforme necessário. Se seu modelo anteriormente usou dados de copiar e colar ou dados de provedores que não sejam o SQL Server, você pode criar novas visões e colunas derivadas dentro da conexão existente ou usar consultas distribuídas. Todos os dados usados em um modelo DirectQuery devem ser acessíveis por meio de uma única fonte de dados do SQL Server.
Etapa 4. Definir o método preferencial para responder consultas no modelo
| Apenas DirectQuery | Defina a propriedade como DirectQuery. |
| Modo híbrido | Defina a propriedade para In-Memory Com DirectQuery ou DirectQuery com In-Memory. Você pode alterar esse valor mais tarde para usar uma preferência diferente. Observe que os clientes podem substituir o método preferencial na cadeia de conexão. |
Etapa 5. Especificar a partição do DirectQuery
| Somente DirectQuery | Opcional. Um modelo somente DirectQuery não precisa de uma partição. No entanto, se você criou partições no modelo durante a fase de design, lembre-se de que apenas uma partição pode ser usada como a fonte de dados. Por padrão, a primeira partição criada será usada como a partição DirectQuery. Para garantir que todos os dados exigidos pelo modelo estão disponíveis na partição DirectQuery, escolha uma partição DirectQuery e edite a instrução SQL para obter todo o conjunto de dados. |
| Modo híbrido | Se qualquer tabela em seu modelo tiver várias partições, você deverá escolher uma única partição como a partição DirectQuery. Se você não atribuir uma partição, por padrão, a primeira partição criada será usada como a partição DirectQuery. Defina as opções de processamento em todas as partições, exceto no DirectQuery. Normalmente, a partição DirectQuery nunca é processada, pois os dados são passados da fonte relacional. Para obter mais informações, consulte Partições e Modo DirectQuery (SSAS Tabular). |
Etapa 6. Configurar representação
A impersonação tem suporte apenas para modelos DirectQuery. A opção de representação, Configurações de Representação, define as credenciais usadas ao exibir dados da fonte de dados do SQL Server especificada.
| Somente "DirectQuery" | Para a propriedade Configurações de Representação, especifique a conta que será usada para se conectar à fonte de dados do SQL Server. Se você usar o valor , ImpersonateCurrentUser, a instância do Analysis Services que hospeda o modelo passará as credenciais do usuário atual do modelo para o banco de dados do SQL Server. |
| Modo híbrido | Para a propriedade Configurações de Representação, especifique a conta que será usada para acessar os dados na fonte de dados do SQL Server. Essa configuração não afeta as credenciais usadas para processar o cache usado pelo modelo. |
Etapa 7. Implantar o modelo
Quando estiver pronto para implantar o modelo, abra o menu Projeto do Visual Studio e selecione Propriedades. Defina a propriedade QueryMode como um dos valores descritos na tabela a seguir:
Para obter mais informações, consulte Deploy From SQL Server Data Tools (SSAS Tabular).
| Somente DirectQuery |
DirectQueryOnly Como você especificou apenas a Consulta Direta, os metadados do modelo são implantados no servidor, mas o modelo não é processado. Observe que o cache usado pelo banco de dados do workspace não é excluído automaticamente. Se você quiser garantir que os usuários não possam ver os dados armazenados em cache, talvez você queira limpar o cache em tempo de design. Para obter mais informações, consulte Limpar os Caches do Analysis Services. |
| Modo híbrido |
DirectQuery na memória In-Memory com DirectQuery Esses dois valores permitem que você use o cache ou a fonte de dados relacional conforme necessário. A ordem define qual fonte de dados é usada por padrão ao responder consultas no modelo. Em um modo híbrido, o cache deve ser processado ao mesmo tempo em que os metadados do modelo são implantados no servidor. Você pode alterar essa configuração após a implantação. |
Passo 8. Verificar o modelo implantado
No SQL Server Management Studio, abra a instância do Analysis Services em que você implantou o modelo. Clique com o botão direito do mouse no nome do banco de dados e selecione Propriedades.
A propriedade , DirectQueryMode, foi definida quando você definiu as propriedades de implantação.
A propriedade, Data Source Impersonation Info, foi definida quando você definiu as opções de representação do usuário. Para obter mais informações, consulte Definir opções de impersonação (SSAS – Multidimensional).
Você pode alterar essas propriedades a qualquer momento após a implantação do modelo.
Comparando opções do DirectQuery
Somente DirectQuery
Essa opção é preferida quando você deseja garantir uma única fonte de dados ou quando seus dados são muito grandes para caber na memória. Se você estiver trabalhando com uma fonte de dados relacional muito grande, durante o tempo de design, poderá criar o modelo usando algum subconjunto dos dados. Ao implantar o modelo no modo somente DirectQuery, você pode editar a definição da fonte de dados para incluir todos os dados necessários.
Essa opção também será preferida se você quiser usar a segurança fornecida pela fonte de dados relacional para controlar o acesso do usuário aos dados. Com modelos tabulares armazenados em cache, você também pode usar funções do Analysis Services para controlar o acesso a dados, mas os dados armazenados no cache também devem ser protegidos. Você sempre deve usar essa opção se o contexto de segurança exigir que os dados nunca devem ser armazenados em cache.
A tabela a seguir descreve os possíveis resultados de implantação para o modo somente DirectQuery:
| DirectQuery sem cache | Nenhum dado é carregado no cache. O modelo nunca pode ser processado. O modelo só pode ser consultado usando clientes que dão suporte a consultas DAX. Os resultados da consulta sempre são retornados da fonte de dados original. DirectQueryMode = OnQueryMode = DirectQuery |
| DirectQuery com consultas somente em cache | Falha na implantação. Esta configuração não é suportada. DirectQueryMode = OnQueryMode = Na memória |
Modo híbrido
Implantar seu modelo em um modo híbrido tem muitas vantagens: você pode obter dados de data up-toda fonte de dados do SQL Server, se necessário, mas a preservação do cache permite trabalhar com dados na memória de forma mais rápida ao projetar relatórios ou testar o modelo.
Um modo híbrido DirectQuery também será útil se o modelo for muito grande. Em vez de fazer com que os usuários obtenham dados obsoletos ou tenham o modelo indisponível enquanto o cache é processado, você pode alternar o modelo para o modo DirectQuery enquanto o processamento está em andamento. Os usuários podem experimentar um desempenho um pouco mais lento, mas eles seriam capazes de obter dados diretamente do repositório relacional, garantindo que os resultados fossem up-to-date.
A tabela a seguir compara o resultado da implantação em cada uma das combinações de opções do DirectQuery.
| Modo híbrido com cache preferencial | O modelo pode ser processado e os dados podem ser carregados no cache. As consultas usam o cache por padrão. Se um cliente quiser usar a origem DirectQuery, um parâmetro deverá ser inserido na cadeia de conexão. DirectQueryMode = OnQueryMode = In-Memory com DirectQuery |
| Modo híbrido com DirectQuery preferencial | O modelo é processado e os dados podem ser carregados no cache. No entanto, as consultas usam o DirectQuery por padrão. Se um cliente quiser usar os dados armazenados em cache, um parâmetro deverá ser inserido na cadeia de conexão. Se as tabelas no modelo forem particionadas, a partição principal do cache também será definida como In-Memory com DirectQuery. DirectQueryMode = OnQueryMode = DirectQuery com In-Memory |
Consulte Também
Modo DirectQuery (SSAS Tabular)
Acesso a dados de modelo tabular