Snowflake

Resumo

Elemento Descrição
Estado da liberação Disponibilidade geral
Produtos Power BI (modelos semânticos)
Power BI (fluxos de dados)
Arquitetura (Dataflow Gen2)
Power Apps (fluxos de dados)
Tipos de autenticação com suporte Snowflake (Nome de usuário/senha), conta da Microsoft (ID do Microsoft Entra), Autenticação de Par de Chaves (ADBC), Entidade de Serviço (SPN)
Documentação de referência da função

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.

Recursos suportados

  • Importação
  • DirectQuery (modelos semânticos 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

Tipos de autenticação com suporte

Observação

  • O modo de autenticação de nome de usuário/senha será preterido. Leia mais aqui. Mais informações podem ser encontradas na seção de Conectividade em nosso roadmap do Fabric.

  • Não há suporte para Autenticação de Par de Chaves nos Fluxos de Dados Gen1.

O conector Snowflake dá suporte aos seguintes métodos de autenticação:

  • ID do Microsoft Entra (recomendado): habilita a autenticação forte e baseada em identidade sem armazenar nomes de usuário ou senhas.

    • No Microsoft Fabric, esse método de autenticação pode ser apoiado pela identidade do workspace em experiências com suporte (como conjuntos de dados e fluxos de dados Gen2), permitindo que o Fabric se autentique no Snowflake usando a identidade gerenciada do workspace.
  • Identidade do Workspace: uma identidade gerenciada associada a um workspace do Microsoft Fabric. Quando você se autentica com o Microsoft Entra ID, as experiências compatíveis do Fabric (como conjuntos de dados e fluxos de dados Gen2) podem usar a identidade do espaço de trabalho para autenticação no Snowflake. Esse método permite que o Fabric acesse o Snowflake usando uma identidade vinculada ao workspace, em vez de credenciais de usuário individuais.

  • Autenticação de par de chaves (ADBC): autenticação baseada em certificado para cenários com suporte.

  • Entidade de Serviço (SPN): há suporte para entidades de serviço no Snowflake para cenários em que uma identidade de nível de aplicativo não atribuída a um usuário é necessária. O suporte depende da configuração do Snowflake e do método de autenticação usado.

Conectar-se ao Data Warehouse Snowflake do Power Query Desktop

Observação

Todas as novas conexões usam a implementação do conector Snowflake 2.0 por padrão.

Recomendamos que você atualize todas as conexões criadas antes de março de 2025 para essa nova implementação.

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

  1. Selecione Get Data na faixa de opções Home no Power BI Desktop, selecione Database nas categorias à esquerda, selecione Snowflake e selecione Connect.

    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 determinado servidor Snowflake, 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 Snowflake Microsoft Entra ID deverá ser configurada no lado do Snowflake. Para obter mais informações, acesse Power BI SSO para Snowflake – Introdução.

  6. Em Navigator, selecione um ou vários elementos para importar e usar no Power BI Desktop. Em seguida, selecione Load para carregar a tabela no Power BI Desktop ou Transform Data para abrir o editor de Power Query em que 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 Import para importar dados diretamente para Power BI ou selecione DirectQuery e selecione OK. Para obter mais informações, acesse Use DirectQuery no Power BI Desktop.

    Observação

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

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

Conectar 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.

    Screenshot 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 Advanced Editor em 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. Em Navigator, selecione os dados necessários e selecione Transform data para transformar os dados em Power Query Editor.

    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

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

A tabela a seguir lista todas as opções avançadas que você pode definir em 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. Essa opção só está disponível 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. Essa opção só está disponível no Power Query Desktop.

Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query Desktop ou Next 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 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. No entanto, se você estiver usando a autenticação key pair, o driver ADBC sempre será usado independentemente dessa configuração.

{
   "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 considerações

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.
  • 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, em alguns casos causando 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 é corrigido desde a última versão de março de 2025 do Power BI Desktop. Para tentar novamente, atualize sua instalação.