Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O SQL Server é uma solução amplamente utilizada para armazenar dados corporativos. Este artigo oferece as melhores práticas para ajudar você a criar e publicar um aplicativo de tela de nível empresarial com o SQL Server.
Gorjeta
Este artigo fornece um cenário de exemplo e uma representação visual de como usar o SQL Server com um aplicativo de tela. Esta solução é um exemplo generalizado de arquitetura, que pode ser usada para muitos cenários e setores diferentes. O SQL Server e o Power Apps suportam muitas abordagens de autenticação herdadas. Este artigo se limita às melhores práticas.
Diagrama da arquitetura
Workflow
Embora muitas implementações anteriores do Power Apps com o SQL Server usassem um gateway, esta arquitetura de exemplo destaca a arquitetura de rede privada virtual (VNET) com o SQL Server. Uma instância do SQL Server pode ser SQL do Azure ou um banco de dados SQL local exposto à nuvem por meio do Azure Arc. Nos dois casos, a comunicação é privada e segura.
- Contoso VNET é uma rede privada virtual que você cria em seu locatário.
- Os recursos do Azure/recursos da Contoso são recursos que você disponibiliza na rede virtual de dentro do seu locatário. Esses recursos incluem serviços como um banco de dados SQL do Azure ou um banco de dados do SQL Server local disponibilizado pelo Azure Arc.
- A sub-rede delegada fica dentro da sua rede virtual e fornece um contêiner para o Power Platform permitir que serviços como o conector SQL ou um Dataverse plug-in funcionem com seus recursos.
Componentes
Esta seção descreve os componentes que dão suporte à integração do SQL Server com aplicativos de tela nesta arquitetura.
Aplicativo de tela e tabelas SQL
As tabelas e exibições do SQL Server aparecem no Power Apps como fontes de dados tabulares. Você pode vincular uma fonte de dados tabular à propriedade table ou gallery Items usando uma expressão do Power Fx. Para fontes de dados tabulares, as expressões do Power Fx são traduzidas em expressões OData, que são então convertidas em expressões SQL. Entretanto, o Power Fx e o OData não representam totalmente todos os recursos de uma expressão SQL.
Gorjeta
Use Power Fx para consultas básicas e diretas e use procedimentos armazenados para expressões SQL mais complexas.
Aplicativo de tela e procedimentos armazenados do SQL
Os procedimentos armazenados do SQL Server aparecem no Power Apps como fontes de dados de ação. Normalmente, fontes de dados de ação não podem ser vinculadas a uma tabela ou galeria devido aos seus potenciais efeitos colaterais. No entanto, você pode marcar um select stored procedure como Safe for Tables and Galleries e usá-lo com uma tabela ou galeria. Essa abordagem recupera todos os dados retornados pelo procedimento armazenado, mas tenha cuidado porque recuperar muitos dados pode sobrecarregar a memória do cliente. Para controlar a quantidade de dados recuperados, use os argumentos de paginação de parâmetros normalmente presentes nesses tipos de procedimentos armazenados.
Além disso, defina os resultados como uma variável do Power Fx e use essa variável na propriedade Items para preencher a tabela ou galeria. Lembre-se de atualizar a variável do Power Fx nas operações Criar, Atualizar e Excluir (CUD). Procedimentos armazenados mais complexos, como aqueles que usam tabelas temporárias, podem retornar um dynamic schema. Você pode usar os resultados desses procedimentos armazenados definindo os resultados esperados como um User defined type do Power Fx.
Conector do SQL Server do
Os aplicativos do Power Apps usam o conector do SQL Server para acessar dados no SQL Server. Embora existam muitos tipos de autenticação SQL disponíveis, Microsoft Entra ID e SPN compartilhável (nome da entidade de serviço) são duas das melhores opções.
Se você quiser usar o Microsoft Entra ID, primeiro configure o banco de dados do SQL Server para fornecer segurança via Microsoft Entra ID. O SPN compartilhável é um método de acesso habilitado pelo administrador e deve ser concedido com cuidado, pois todos os usuários têm os mesmos direitos de acesso ao banco de dados. Ele é protegido com conexões implícitas seguras, que restringem o acesso às tabelas e ações usadas no aplicativo (ou seja, Get, Post, Put e Delete).
VNET (rede privada virtual)
Há várias maneiras de rotear chamadas para o SQL Server. Rede virtual é uma solução de nuvem do Azure que torna todos os pontos de extremidade privados. Para implementar, provisione uma rede virtual dentro do seu locatário, configure a política corporativa e configure seu ambiente do Power Platform para suportá-la. Essa configuração garante que nenhum tráfego SQL seja exposto publicamente pela rede.
Gerenciamento do ciclo de vida do aplicativo (ALM)
O Power Platform oferece suporte à transição suave de um aplicativo do Power Apps via SQL entre ambientes de Desenvolvimento, Teste e Produção. As referências de conexão permitem a alteração de strings de conexão entre ambientes, o que é importante para a Autenticação SQL básica. Variáveis de ambiente oferecem suporte ao cenário do Microsoft Entra ID alterando o servidor e o banco de dados entre os ambientes.
Casos de uso
O Power Apps fornece às organizações uma maneira flexível e intuitiva de criar experiências personalizadas para o usuário.
- Se você estiver criando um novo aplicativo e armazenamento, use o Dataverse. Seus recursos são projetados para facilitar a criação de aplicativos de nível empresarial.
- Se você tiver dados no SQL Server que não podem ser movidos, ou se sua organização precisar do SQL Server, use o Power Apps com o SQL Server.
- Se os dados não puderem ser movidos, use o Power Apps no SQL Server. Os aplicativos existentes ainda dependem desses dados, então você precisa movê-los para a nuvem para modernizá-los.
Considerações
Essas considerações implementam os pilares do Power Platform Well-Architected, um conjunto de princípios fundamentais que melhoram a qualidade de uma carga de trabalho. Saiba mais em Microsoft Power Platform Well-Architected.
Confiabilidade
Projete sua carga de trabalho para evitar complexidade desnecessária: o Power Apps funciona bem com consultas simples que você pode delegar ao servidor. Delegue tarefas complexas para exibições e procedimentos armazenados. Em seguida, use esses procedimentos armazenados diretamente para ações síncronas. Use o Power Automate para quaisquer ações assíncronas, incluindo chamadas para procedimentos armazenados de longa execução.
Segurança
Usar conexões implícitas seguras: use conexões implícitas seguras para todas as conexões compartilhadas. Converta quaisquer aplicativos mais antigos para usar conexões implícitas seguras, conforme necessário. Com conexões implícitas seguras, o conector permanece dentro do serviço de nuvem do Power Apps e não reside no cliente. O aplicativo se conecta apenas ao conector proxy, que também está no serviço de nuvem do Power Apps. O aplicativo e o conector proxy sabem da existência um do outro; no entanto, o aplicativo não sabe da existência do conector. O conector proxy tem uma política que restringe os tipos de consulta às consultas no aplicativo.
Criar segmentação e perímetros intencionais: use ambientes separados do Power Platform para os estágios do ciclo de vida do aplicativo e garanta que somente os usuários certos tenham acesso a cada estágio para dar suporte às políticas de segmentação.
Excelência Operacional
Adotar práticas de implantação seguras: padronize a implantação de quaisquer alterações no aplicativo do Power Apps usando processos de implantação automatizados, como pipelines. Promova o aplicativo para produção somente após testar essas alterações.
Eficiência de Desempenho
Projetar para atender aos requisitos de desempenho: avalie o desempenho da sua solução e o volume de requisitos de dados para garantir que o design da tabela, da exibição e do procedimento armazenado do SQL Server seja apropriado. Na sua avaliação, inclua como os dados são acessados e como o Power Apps delega operações ao SQL Server. Esteja ciente das limitações ao pesquisar e filtrar dados devido ao suporte de delegação oferecido pelo SQL Server. Revise as limitações documentadas para aplicativos de tela em Compreender a delegação, especialmente ao escolher a fonte de dados ou o backend certo para seu aplicativo.
Otimizar lógica: aplicativos de tela usam o Power Fx para executar o trabalho. Cada operação do Power Fx é independente e não é tratada como uma transação atômica. Por exemplo, se um aplicativo cria uma linha de detalhes da ordem de venda, mas não cria um registro de cabeçalho da ordem de venda, a linha de detalhes da ordem de venda permanece. Não deixe essas etapas processuais obrigatórias no Power Fx. Use procedimentos armazenados do SQL Server com suporte a transações.
Otimização da Experiência
Design para eficiência: aplicativos que permitem que os usuários acessem outras fontes de dados além das tabelas do SQL Server a partir de um único aplicativo do Power Apps, sem exigir interação com vários aplicativos individuais, melhoram a eficiência e fornecem uma melhor experiência visual personalizada. Evite criar um aplicativo para criar outro aplicativo, o aplicativo deve fornecer alguma eficiência ao usuário ou outro benefício de arquitetura em relação ao uso de uma experiência do Power Apps orientada a modelos.
Recursos relacionados
Power Apps:
- Visão geral de Conectar-se ao SQL Server
- Use o Microsoft SQL Server com segurança
- Noções básicas sobre delegação
- Funções e operações delegáveis do Power Apps para o SQL Server
Conectores:
- Documentação do conector do Microsoft SQL Server
- Visão geral do suporte à Rede Virtual
- Configurar suporte à Rede Virtual
Gerenciamento do ciclo de vida do aplicativo (ALM):