Compartilhar via


Snowflake

Resumo

Elemento Descrição
Estado da liberação Disponibilidade geral
Produtos Power BI (Modelos semânticos)
Power BI (Fluxos de dados)
Fabric (Fluxo de dados Gen2)
Power Apps (Fluxos de dados)
Tipos de autenticação compatíveis Snowflake (Nome de Usuário/Senha), conta da Microsoft (ID Microsoft Entra), Autenticação por Par de Chaves
Documentação de referência da função

Observação

A implementação do conector Snowflake 2.0 está amplamente disponível desde julho de 2025. Saiba mais sobre esse recurso.

Observação

O campo de entrada de frase secreta será exibido automaticamente somente se necessário, com base no tipo de certificado carregado. Depois que o usuário carrega um certificado, o sistema detecta se ele é criptografado ou não criptografado e exibe condicionalmente a caixa de diálogo de frase secreta. Há suporte para chaves criptografadas e não criptografadas.

Observação

Alguns recursos podem estar presentes em um produto, mas não em outros devido a agendas de implantação e recursos específicos do host.

Observação

O modo de autenticação de nome de usuário/senha será preterido pelo Snowflake (leia mais aqui). Mais informações podem ser encontradas em Conectividade em nosso roteiro do Fabric.

Recursos suportados

  • Importação
  • DirectQuery (Modelos semânticos do Power BI)
  • Opções avançadas
    • Especifique um valor de texto a ser usado como Nome da função
    • Colunas de relação
    • Tempo limite da conexão em segundos
    • Tempo limite do comando em segundos
    • Banco de dados
    • Instrução de SQL nativa

Conectar-se ao data warehouse Snowflake do Power Query Desktop

Observação

Desde a versão de março de 2025 do Power BI Desktop, a opção de implementação do conector Snowflake 2.0 está habilitada por padrão.

Para fazer a conexão com um depósito de computação Snowflake, siga as seguintes etapas:

  1. Selecione Obter Dados na faixa de opções Página Inicial no Power BI Desktop, selecione Banco de Dados nas categorias à esquerda, selecione Snowflake e, em seguida, selecione Conectar.

    Captura de tela da caixa de diálogo Obter Dados, mostrando a seleção do banco de dados Snowflake.

  2. Na janela Snowflake exibida, insira o nome do servidor Snowflake no Servidor e o nome do seu armazém de computação Snowflake no Warehouse.

    Captura de tela da caixa de diálogo do Snowflake mostrando o botão de rádio Importar selecionado.

  3. Opcionalmente, insira valores em todas as opções avançadas que quiser usar para modificar a consulta de conexão, como um valor de texto a ser usado como um Nome de função ou um tempo limite de comando. Para obter mais informações, acesse Connect usando opções avançadas.

  4. Selecione OK.

  5. Para acessar seu armazém de computação Snowflake, insira seu nome de usuário e senha e selecione Conectar.

    Captura de tela do prompt de credencial snowflake, mostrando os campos Nome de usuário e senha.

    Observação

    Depois de inserir seu nome de usuário e senha para um servidor Snowflake específico, o Power BI Desktop usará essas mesmas credenciais em tentativas de conexão subsequentes. Você pode modificar essas credenciais acessando opções de arquivo > e definindo as configurações > de fonte de dados. Para obter mais informações, vá para Alterar o método de autenticação.

    Se você quiser usar a opção de conta Microsoft, a integração do Microsoft Entra ID do Snowflake deve ser configurada no lado do Snowflake. Para obter mais informações, acesse o SSO do Power BI para Snowflake – Introdução.

  6. No Navegador, selecione um ou vários elementos para importar e usar no Power BI Desktop. Em seguida, selecione Carregar para carregar a tabela no Power BI Desktop ou transformar dados para abrir o editor do Power Query, onde você pode filtrar e refinar o conjunto de dados que deseja usar e carregar esse conjunto refinado de dados no Power BI Desktop.

    Captura de tela do Navegador com o banco de dados de esquema de teste aberto e a tabela DimProduct selecionada.

  7. Selecione Importar para importar dados diretamente para o Power BI ou selecione DirectQuery e, em seguida, selecione OK. Para obter mais informações, acesse Usar o DirectQuery no Power BI Desktop.

    Observação

    O SSO (logon único) do Microsoft Entra ID dá suporte apenas ao DirectQuery.

    Captura de tela das configurações de conexão, que contém as seleções Importar e DirectQuery.

Conectar-se a um banco de dados Snowflake do Power Query Online

Para fazer a conexão, execute as seguintes etapas:

  1. Selecione a opção Snowflake na seleção do conector.

  2. Na caixa de diálogo Snowflake exibida, insira o nome do servidor e do armazém.

    Captura de tela do construtor de conexões Snowflake no Power Query Online.

  3. Insira os valores que você deseja usar nas opções avançadas. Se houver opções avançadas não representadas na interface do usuário, você poderá editá-las no Editor Avançado no Power Query posteriormente.

  4. Insira suas credenciais de conexão, selecione ou crie uma nova conexão, qual gateway você gostaria de usar e um nome de usuário e senha.

  5. Selecione Avançar para se conectar ao banco de dados.

  6. No Navegador, selecione os dados necessários e selecione Transformar dados para transformar os dados no Editor do Power Query.

    Captura de tela do Navegador online com o banco de dados de esquema de teste aberto e a tabela DimProduct selecionada.

Conectar usando opções avançadas

O Power Query tem um conjunto de opções avançadas que você pode adicionar à sua consulta, se necessário.

A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query.

Opção avançada Descrição
Nome da função Especifica a função que o relatório usa pelo driver. Essa função deve estar disponível para o usuário. Caso contrário, nenhuma função será definida.
Incluir colunas de relação Se marcada, inclui colunas que podem ter relações com outras tabelas. Se essa caixa estiver desmarcada, você não verá essas colunas.
Tempo limite da conexão em segundos Especifica quanto tempo aguardar uma resposta ao interagir com o serviço Snowflake antes de retornar um erro. O padrão é 0 (sem tempo limite).
Tempo limite do comando em segundos Especifica quanto tempo aguardar a conclusão de uma consulta antes de retornar um erro. O padrão é 0 (sem tempo limite).
Banco de dados Especifica um banco de dados específico no depósito. Esta opção está disponível somente no Power Query Desktop.
Instrução SQL Para obter informações, acesse Importar dados de um banco de dados usando a consulta de banco de dados nativo. Esta opção está disponível somente no Power Query Desktop.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query Desktop ou Avançar no Power Query Online para se conectar ao banco de dados snowflake.

Implementação do conector Snowflake 2.0

Em janeiro de 2025, apresentamos uma nova implementação para o conector Snowflake para aprimorar a integração com o Snowflake. Esse conector está disponível em geral desde julho de 2025. Recomendamos que você atualize o Power BI Desktop e o gateway de dados local para a versão mais recente para se beneficiar dos recursos mais atuais. Forneça comentários para nos ajudar a continuar melhorando o conector.

A implementação do conector Snowflake 2.0 foi criada usando o driver open-source Arrow Database Connectivity (ADBC). O ADBC fornece um conjunto de interfaces padrão para interagir com dados do Arrow, que é especialmente eficiente na busca de grandes conjuntos de dados com sobrecarga mínima, sem serialização ou cópia. O driver do ADBC também incorpora aprimoramentos de segurança, como segurança de memória e coleta de lixo. Além disso, a colaboração com a comunidade de software livre permite atualizações mais rápidas, utilizando ferramentas modernas e processos de SDL (ciclo de vida de desenvolvimento seguro).

Para permitir que você aproveite esses aprimoramentos de desempenho e segurança, a partir de julho de 2025, todas as conexões recém-criadas na Área de Trabalho usam automaticamente a implementação 2.0. Você também pode testar a implementação 2.0 atualizando suas consultas existentes e adicionando o sinalizador Implementation="2.0" em Snowflake.Databases da seguinte maneira.

Source = Snowflake.Databases("contoso.snowflakecomputing.com", "CONTOSO_WH", [Implementation="2.0"])

Para ajudar a diagnosticar qualquer problema em potencial, você pode encontrar os detalhes de Implementation e DriverType nos seus logs do Mashup, como o exemplo a seguir. Se você encontrar algum problema durante a transição, entre em contato com o suporte. Enquanto isso, para mitigar por conta própria, você pode remover Implementation="2.0" para continuar a usar o conector ODBC e evitar interrupção nos negócios antes que o problema seja resolvido.

{
   "Start":"2024-11-02T00:14:02.7968686Z",
   "Action":"Engine/Module/Snowflake/IO/Snowflake/Implementation",
   "ResourceKind":"Snowflake",
   "ResourcePath":"powerbi.snowflakecomputing.com ;DEMO_WH",
   "HostProcessId":"29200",
   "Implementation":"2.0",
   "DriverType":"ADBC",
   "ProductVersion":"2.139.0.0 (Main)+eda56ecd858054173a4d11db9c63a6da5cf92a99",
   "ActivityId":"106f16b6-cfbb-4853-9f20-ed45486486d2",
   "Process":"Microsoft.Mashup.Container.NetFX45",
   "Pid":38560,
   "Tid":1,
   "Duration":"00:00:00.0000291"
}

As seguintes opções estão disponíveis desde a versão de julho de 2025:

  • UseHighPrecision: controla a precisão de como os campos Snowflake NUMBER(38,0) devem ser manipulados. Se nenhum valor for especificado, o conector consultará Snowflake usando a SHOW PARAMETERS LIKE 'ODBC_TREAT_DECIMAL_AS_INT' consulta. Se o valor não for definido, o conector usará a escala especificada pela coluna. Um true valor trata NUMBER(38,0) como um tipo decimal. O valor false trata NUMBER(38,0) como um tipo Int64. Se a escala for maior que 0, a coluna será considerada como um tipo Duplo.
  • DateTimePrecision: controla a precisão de como são tratados os valores de timestamp do Snowflake. Snowflake normalmente armazena valores de Timestamp com precisão de nanossegundos. No contexto do ADBC, essa precisão pode gerar uma exceção de estouro para datas antes de 1677 ou após 2262, de acordo com Snowflake. Os valores válidos para essa opção são nulos ou nanosecondsmicroseconds. Um valor nulo usa nanoseconds por padrão. Recomendamos que os usuários que precisam de datas antes de 1677 ou após 2262 usem a microseconds configuração. Se os usuários precisarem manter a precisão para o décimo milionésimo lugar antes de 1677 ou depois de 2262, recomendamos permanecer com o driver ODBC.

Se você precisar usar o proxy para se conectar ao Snowflake, consulte a instrução de configuração de proxy. O driver usa variáveis de ambiente para as configurações de proxy.

A tabela a seguir contém um resumo dos aprimoramentos do conector lançados em versões anteriores:

Liberação Melhoria do conector
Julho de 2025 • As colunas boolianas retornam tipos boolianos, corrigindo o problema em que as colunas boolianas eram tratadas como tipos de cadeia de caracteres em um esquema de conjunto de registros vazio (incluindo metadados).
• Nova configuração para definir a precisão máxima do timestamp como microssegundos.
• Suporte a duração aprimorada.
• Adicionado suporte para propriedades de navegação ao ADBC.
• Rastreamento aprimorado no driver ADBC, em que a "ActivityId" agora pode ser rastreada por meio da camada de driver.
Abril de 2025 • Adicionado suporte para o tag de consulta Snowflake. Como exemplo: {"PowerQuery":true,"Host":"PBI_SemanticModel_MWC","HostContext":"PowerBIPremium-DirectQuery"}
Março de 2025 • Desempenho aprimorado ao recuperar dados do Snowflake.
• Habilitado por padrão no Power BI Desktop para que as conexões recém-criadas usem automaticamente a nova implementação do conector.
• Correção do problema de exibições não visíveis desde a última versão de março.
Fevereiro de 2025 • Desempenho aprimorado reduzindo o número de chamadas de metadados.
• Resolveu o problema de valores duplicados para conjuntos de resultados grandes.

Observação

Quando você usa o gateway de dados local, observe que a versão mínima com suporte é janeiro de 2025. Recomendamos que você use a versão mais recente com os recursos mais atuais.

Observação

Esse recurso tem suporte na versão de 64 bits do Power BI Desktop e não funciona na versão de 32 bits.

Solução de problemas

Erro: erro de compilação SQL: o objeto não existe ou a operação não pode ser executada

O erro ocorre quando o sistema não consegue encontrar o objeto especificado. Muitas vezes, esse erro ocorre porque o usuário tem um nome de banco de dados inválido definido como banco de dados padrão.

Certifique-se de que um nome de banco de dados padrão válido seja usado para a propriedade DEFAULT_NAMESPACE: DESC USERusername

Para atualizar o nome do conjunto de dados padrão: alter userusername set DEFAULT_NAMESPACE=<database name>.<schema name>. Para obter mais informações, acesse a documentação do Snowflake.

Limitações e problemas conhecidos

Problemas conhecidos na implementação do conector Snowflake 2.0

Atualmente, a implementação do conector Snowflake 2.0 tem os seguintes problemas conhecidos. Há um trabalho em andamento para uma correção e a documentação será atualizada quando uma correção for lançada.

  • A consulta do Snowflake com a lógica count distinct retorna um resultado incorreto.
  • Ao criar relações, encontre um erro Object reference not set to an instance of an object. A relação ainda pode ser definida após você cancelar a janela pop-up.
  • Aumento do uso de memória. O tempo de carga geral normalmente é mais rápido usando Implementation="2.0", mas o consumo de memória também pode ser maior, causando em alguns casos problemas como Resource Governing: This operation was canceled because there wasn't enough memory to finish running it. Either reduce the memory footprint of your dataset by doing things such as limiting the amount of imported data, or if using Power BI Premium, increase the memory of the Premium capacity where this dataset is hosted..

Problemas resolvidos

Hífens em nomes de banco de dados

Se um nome de banco de dados tiver um hífen, você poderá encontrar um ODBC: ERROR[42000] SQL compilation error. Esse problema é resolvido na versão de setembro de 2024.

Visual de segmentação para o tipo de dados booliano

O visual de segmentação para o tipo de dados booliano não está funcionando conforme esperado na versão de junho de 2024. Essa não funcionalidade é um problema conhecido. Como uma solução temporária, os usuários podem converter o tipo de dados Boolean em seus relatórios para texto, navegando até: Transferir -> Tipo de Dados -> Texto. Uma correção é fornecida na versão de outubro de 2024.

Exibições não visíveis com Implementation="2.0"

Em alguma versão da versão de março de 2025 do Power BI Desktop, você pode encontrar um problema em que as exibições não estejam visíveis ao usar a implementação do conector Snowflake 2.0 (Implementation="2.0"). Esse problema foi corrigido desde a última versão de março de 2025 do Power BI Desktop. Para tentar novamente, atualize sua instalação.

Os valores de TIMESTAMP_NTZ são UTC com Implementation="2.0"

tipos TIMESTAMP_LTZ não estão sendo convertidos para o fuso horário local, mas retornam o valor em UTC ao usar a implementação do conector Snowflake 2.0 (Implementation="2.0"). Por exemplo, fazer SELECT CURRENT_TIMESTAMP do Snowflake é retornar a hora UTC, não o fuso horário local do usuário. Esse problema é resolvido na versão de julho de 2025.

O índice estava fora dos limites da matriz ao usar Implementation="2.0"

Em alguns cenários, um erro é gerado indicando Index was outside the bounds of the array ao usar a implementação do conector Snowflake 2.0 (Implementation="2.0"). Esse problema é resolvido na versão de junho de 2025.