Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O SQL Server é uma solução amplamente utilizada para armazenar dados corporativos. Este artigo oferece práticas recomendadas para ajudá-lo a criar e publicar um aplicativo de tela de nível empresarial com o SQL Server.
Sugestão
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 é uma arquitetura de exemplo generalizada, que pode ser usada para muitos cenários e indústrias diferentes. SQL Server e Power Apps oferecem suporte a muitas abordagens de autenticação herdada. Este artigo limita-se às melhores práticas.
Diagrama da arquitetura
Workflow
Embora muitas implementações anteriores do SQL Server usassem um gateway, este exemplo de arquitetura destaca a arquitetura de Power Apps rede virtual privada (VNET) com o SQL Server. Uma instância do SQL Server pode ser o SQL do Azure ou um banco de dados SQL local exposto à nuvem por meio do Azure Arc. Em ambos os casos, a comunicação é privada e segura.
- A VNET da Contoso é uma rede virtual privada que você cria em seu locatário.
- 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 SQL Server local disponibilizado por meio do Azure Arc.
- A sub-rede delegada fica dentro de sua rede virtual e fornece um contentor para Power Platform permitir que serviços como o conector SQL ou um Dataverse plug-in trabalhem com seus recursos.
Componentes
Esta secção descreve os componentes que dão suporte à integração do SQL Server com aplicativos de tela nessa arquitetura.
Aplicativo Canvas e tabelas SQL
As tabelas e exibições do SQL Server aparecem como Power Apps fontes de dados tabulares. Você pode vincular uma fonte de dados tabular à propriedade de tabela ou galeria Items usando uma Power Fx expressão. Para fontes de dados tabulares, Power Fx as expressões são convertidas em expressões OData, que são convertidas em expressões SQL. No entanto, Power Fx e OData não representam totalmente todos os recursos de uma expressão SQL.
Sugestão
Use Power Fx para consultas básicas e diretas e use procedimentos armazenados para expressões SQL mais complexas.
Aplicativo Canvas e procedimentos armazenados SQL
Os procedimentos armazenados do SQL Server aparecem como Power Apps fontes de dados de ação. Normalmente, as 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 invadir 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 Power Fx variável e use essa variável na Items propriedade para preencher a tabela ou galeria. Lembre-se de atualizar a Power Fx variável 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 a Power Fx User defined type.
Conector do SQL Server
Power Apps os aplicativos 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 Microsoft Entra a 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 para 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. A rede virtual é uma solução de nuvem do Azure que torna todos os pontos de extremidade privados. Para implementar, provisione uma rede virtual em seu locatário, configure a política empresarial e configure seu Power Platform ambiente para suportá-la. Essa configuração garante que nenhum tráfego SQL seja exposto publicamente por fio.
ALM (gerenciamento do ciclo de vida do aplicativo)
Power Platform suporta a transição suave de um Power Apps aplicativo sobre SQL entre ambientes de desenvolvimento, teste e produção. As referências de conexão oferecem suporte à alteração de cadeias de conexão entre ambientes, o Microsoft Entra que é importante para a autenticação SQL básica.
Casos de utilização
Power Apps Fornece às organizações uma maneira flexível e intuitiva de criar experiências de utilizador personalizadas.
- Se você estiver a criar um novo aplicativo e armazenamento, considere usar 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 exigir o SQL Server, considere usar Power Apps o SQL Server.
- Se os dados não puderem ser movidos, use Power Apps sobre o SQL Server. Os aplicativos existentes ainda dependem desses dados, então você precisa mover esses aplicativos para a nuvem para modernizá-los.
Considerações
Estas considerações implementam os pilares do Well-Architected do Power Platform, um conjunto de princípios orientadores que melhoram a qualidade de uma carga de trabalho. Mais informações em Well-Architected do Microsoft Power Platform.
Fiabilidade
Projete sua carga de trabalho para evitar complexidade desnecessária: Power Apps funciona bem com consultas diretas que você pode delegar ao servidor. Delegue tarefas complexas a exibições e procedimentos armazenados. Em seguida, use esses procedimentos armazenados diretamente para ações síncronas. Use Power Automate para quaisquer ações assíncronas, incluindo chamadas para procedimentos armazenados de longa execução.
Segurança
Use 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 Power Apps serviço de nuvem e não reside no cliente. O aplicativo se conecta apenas ao conector proxy, que também está no Power Apps serviço de nuvem. O aplicativo e o conector de proxy sabem um sobre o outro; no entanto, o aplicativo não sabe sobre o conector. O conector de proxy tem uma política que restringe os tipos de consulta a consultas no aplicativo.
Crie segmentação e perímetros intencionais: use ambientes separados Power Platform para estágios do ciclo de vida do aplicativo e garanta que apenas os usuários certos tenham acesso a cada estágio para dar suporte a políticas de segmentação.
Excelência Operacional
Adote práticas de implantação seguras: padronize a implantação de quaisquer alterações no Power Apps aplicativo usando processos de implantação automatizados, como pipelines. Promova o aplicativo para produção somente depois de testar essas alterações.
Eficiência de Desempenho
Design para atender aos requisitos de desempenho: avalie o desempenho da solução e o volume de requisitos de dados para garantir que o design de tabela, exibição e procedimento armazenado do SQL Server seja apropriado. Na sua avaliação, inclua como os dados são acessados e como 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. Analise as limitações documentadas para aplicativos de tela em Noções básicas sobre delegação, especialmente ao escolher a fonte de dados ou o back-end certo para seu aplicativo.
Otimizar lógica: aplicativos de tela são usados Power Fx para executar trabalho. Cada Power Fx operação é independente e não é tratada como uma transação atômica. Por exemplo, se um aplicativo criar uma linha de detalhes da ordem de venda, mas não criar um registro de cabeçalho de ordem de venda, a linha de detalhes da ordem de venda permanecerá. Não deixe estas etapas processuais necessárias para dentro 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 ao lado de tabelas do SQL Server a partir de um único Power Apps aplicativo, 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 um aplicativo — o aplicativo deve fornecer alguma eficiência ao utilizador ou outro benefício de arquitetura em relação ao uso de uma experiência orientada por Power Apps modelo.
Recursos relacionados
Power Apps:
- Visão geral de Conectar-se ao SQL Server
- Use Microsoft SQL Server com segurança
- Compreender a delegação
- Power Apps funções e operações delegáveis ao SQL Server
Conectores:
- Microsoft SQL Server documentação do conector
- Descrição geral do suporte de Rede Virtual
- Configurando o suporte de Rede Virtual
Gerenciamento do ciclo de vida do aplicativo (ALM):