Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
SQL Server is een veelgebruikte oplossing voor het opslaan van bedrijfsgegevens. Dit artikel biedt aanbevolen procedures voor het bouwen en publiceren van een canvas-app op ondernemingsniveau met SQL Server.
Fooi
Dit artikel bevat een voorbeeldscenario en een visuele weergave van het gebruik van SQL Server met een canvas-app. Deze oplossing is een algemene voorbeeldarchitectuur die voor veel verschillende scenario's en branches kan worden gebruikt. SQL Server en Power Apps ondersteunen veel oudere verificatiebenaderingen. Dit artikel beperkt zich tot best practices.
Architectuurdiagram
Werkstroom
Hoewel veel eerdere implementaties van Power Apps met SQL Server gebruikmaakten van een gateway, benadrukt deze voorbeeldarchitectuur de VNET-architectuur (Virtual Private Network) met SQL Server. Een SQL Server-exemplaar kan Azure SQL zijn of een on-premises SQL-database die via Azure Arc aan de cloud is blootgesteld. In beide gevallen is de communicatie privé en veilig.
- Contoso VNET is een virtueel privénetwerk (VPN) dat u in uw tenant maakt.
- Azure-resources/Contoso-resources zijn resources die u beschikbaar maakt in het virtuele netwerk vanuit uw tenant. Deze resources omvatten services zoals een Azure SQL-database of een on-premises SQL Server-database die beschikbaar wordt gesteld via Azure Arc.
- Gedelegeerd subnet bevindt zich in uw virtuele netwerk en biedt een container waarmee Power Platform services zoals de SQL-connector of een Dataverse-invoegtoepassing met uw resources kunnen werken.
Onderdelen
In dit gedeelte worden de componenten beschreven die de integratie van SQL Server met canvas-apps in deze architectuur ondersteunen.
Canvas-app en SQL-tabellen
SQL Server-tabellen en -weergaven worden in Power Apps weergegeven als tabelgegevensbronnen. U kunt een tabelvormige gegevensbron aan de eigenschap Items van de tabel of galerie koppelen met behulp van een Power Fx-expressie. Voor tabelvormige gegevensbronnen worden Power Fx-expressies vertaald naar OData-expressies, die vervolgens worden omgezet in SQL-expressies. Power Fx en OData geven echter niet alle mogelijkheden van een SQL-expressie volledig weer.
Fooi
Gebruik Power Fx voor eenvoudige, duidelijke query's en gebruik opgeslagen procedures voor complexere SQL-expressies.
Canvas-app en SQL-opslagprocedures
Opgeslagen procedures van SQL Server worden in Power Apps weergegeven als actiegegevensbronnen. Actiegegevensbronnen kunnen normaal gesproken niet aan een tabel of galerie worden gekoppeld vanwege de mogelijke bijwerkingen. U kunt echter wel een select stored procedure als Safe for Tables and Galleries markeren en gebruiken met een tabel of galerie. Met deze aanpak worden alle gegevens opgehaald die de opgeslagen procedure retourneert. Wees echter voorzichtig, want als u te veel gegevens ophaalt, kan het geheugen van de client overbelast raken. Als u de hoeveelheid opgehaalde gegevens wilt beheren, gebruikt u de parameterpagineringsargumenten die doorgaans aanwezig zijn in dit type opgeslagen procedures.
Stel daarnaast de resultaten in op een Power Fx variabele en gebruik deze variabele in de eigenschap Items om de tabel of galerie te vullen. Vergeet niet de Power Fx-variabele te vernieuwen bij CUD-bewerkingen (Create, Update en Delete). Complexere opgeslagen procedures, zoals procedures die gebruikmaken van tijdelijke tabellen, retourneren mogelijk een dynamic schema. U kunt de resultaten van deze opgeslagen procedures gebruiken door de verwachte resultaten in te stellen op een Power Fx User defined type.
SQL Server-connector
Power Apps-toepassingen gebruiken de SQL Server-connector om toegang te krijgen tot gegevens in SQL Server. Hoewel er veel SQL-verificatietypen beschikbaar zijn, vormen Microsoft Entra ID en deelbare SPN (Service Principal Name) twee van de betere keuzes.
Als u Microsoft Entra ID wilt gebruiken, moet u eerst de SQL Server-database configureren om beveiliging te bieden via Microsoft Entra ID. Deelbare SPN is een toegangsmethode die door de beheerder kan worden ingeschakeld en die met zorg moet worden verleend, omdat alle gebruikers dezelfde toegangsrechten voor de database hebben. Het is beveiligd met veilige impliciete verbindingen, die de toegang tot de tabellen en acties die in de toepassing worden gebruikt (dat wil zeggen: Get, Post, Put en Delete) beperken.
VNET (virtueel privénetwerk)
Er zijn verschillende manieren om aanroepen naar SQL Server te routeren. Virtueel netwerk is een Azure-cloudoplossing die alle eindpunten privé maakt. Om dit te implementeren, moet u een virtueel netwerk binnen uw tenant inrichten, het ondernemingsbeleid instellen en uw Power Platform-omgeving configureren om dit te ondersteunen. Deze configuratie zorgt ervoor dat er geen SQL-verkeer openbaar toegankelijk is via het net.
ALM (Application Lifecycle Management)
Power Platform ondersteunt de soepele overgang van een Power Apps-app via SQL tussen Dev-, Test- en productieomgevingen. Verbindingsverwijzingen ondersteunen het wijzigen van verbindingsreeksen tussen omgevingen, wat belangrijk is voor basis SQL-verificatie. Omgevingsvariabelen ondersteunen het Microsoft Entra ID-scenario door de server en database tussen omgevingen te wijzigen.
Gebruiksscenario's
Power Apps biedt organisaties een flexibele, intuïtieve manier om aangepaste gebruikerservaringen te creëren.
- Als u een nieuwe app en opslag bouwt, overweeg dan om Dataverse te gebruiken. De functies zijn ontworpen om het bouwen van apps op ondernemingsniveau eenvoudiger te maken.
- Als u gegevens in SQL Server hebt die niet kunnen worden verplaatst, of als uw organisatie SQL Server vereist, kunt u overwegen om Power Apps via SQL Server te gebruiken.
- Als de gegevens niet kunnen worden verplaatst, gebruikt u Power Apps via SQL Server. Bestaande apps zijn nog steeds afhankelijk van die gegevens. Om ze te moderniseren, moet u ze dus naar de cloud verplaatsen.
Overwegingen
Deze overwegingen implementeren de pijlers van Power Platform Well-Architected, een reeks leidende principes die de kwaliteit van een werklast verbeteren. Meer informatie is te vinden in Microsoft Power Platform Well-Architected.
Betrouwbaarheid
Ontwerp uw werklast om onnodige complexiteit te vermijden: Power Apps werkt goed met eenvoudige query's die u aan de server kunt delegeren. Delegeer complexe taken naar weergaven en opgeslagen procedures. Gebruik vervolgens deze opgeslagen procedures rechtstreeks voor synchrone acties. Gebruik Power Automate voor alle asynchrone acties, inclusief aanroepen van langlopende opgeslagen procedures.
Beveiliging
Gebruik beveiligde impliciete verbindingen: gebruik beveiligde impliciete verbindingen voor alle gedeelde verbindingen. Converteer indien nodig oudere toepassingen naar veilige impliciete verbindingen. Bij veilige impliciete verbindingen blijft de connector binnen de Power Apps-cloudservice en bevindt deze zich niet op de client. De app maakt alleen verbinding met de proxyconnector, die zich ook in de Power Apps-cloudservice bevindt. De app en de proxyconnector kennen elkaar, maar de app weet niet dat de connector bestaat. De proxyconnector heeft een beleid dat querytypen beperkt tot query's in de app.
Creëer doelbewust segmentatie en perimeters: gebruik afzonderlijke Power Platform-omgevingen voor de verschillende fasen in de levenscyclus van applicaties en zorg ervoor dat alleen de juiste gebruikers toegang hebben tot elke fase om segmentatiebeleid te ondersteunen.
Operationele uitmuntendheid
Pas veilige implementatiepraktijken toe: standaardiseer de implementatie van wijzigingen in de Power Apps-toepassing met behulp van geautomatiseerde implementatieprocessen, zoals pijplijnen. Zet de applicatie pas over naar productie nadat u de wijzigingen hebt getest.
Prestatie-efficiëntie
Ontwerp om te voldoen aan de prestatievereisten: evalueer de prestaties van uw oplossing en de vereisten voor het volume aan gegevens om te controleren of het ontwerp van uw SQL Server-tabel, -weergave en opgeslagen procedure geschikt is. Neem in uw evaluatie op hoe de gegevens worden benaderd en hoe Power Apps bewerkingen delegeert aan de SQL Server. Houd rekening met beperkingen bij het zoeken en filteren van gegevens vanwege de ondersteuning voor delegering die SQL Server biedt. Bekijk de beperkingen die zijn beschreven voor canvas-apps in Inzicht in delegering, met name bij het kiezen van de juiste gegevensbron of back-end voor uw app.
Logica optimaliseren: canvas-applicaties gebruiken Power Fx om werk uit te voeren. Elke Power Fx bewerking is onafhankelijk en wordt niet als een atomaire transactie afgehandeld. Als een toepassing bijvoorbeeld een detailrij voor een verkooporder maakt, maar geen koptekstrecord voor de verkooporder, blijft de detailrij voor de verkooporder behouden. Laat deze vereiste procedurele stappen niet in Power Fx staan. Gebruik opgeslagen procedures van SQL Server met transactieondersteuning.
Optimalisatie van ervaring
Ontwerp voor efficiëntie: toepassingen waarmee gebruikers vanuit één enkele Power Apps-toepassing toegang hebben tot andere gegevensbronnen naast SQL Server-tabellen, zonder dat er interactie nodig is met meerdere afzonderlijke toepassingen, verbeteren de efficiëntie en bieden een betere, op maat gemaakte visuele ervaring. Vermijd het bouwen van een applicatie om een applicatie te bouwen: de applicatie moet de gebruiker efficiëntie bieden of een ander architectuurvoordeel ten opzichte van een modelgestuurde Power Apps-ervaring.
Verwante resources
Power Apps:
- Overzicht van verbinding maken met SQL Server
- Veilig Microsoft SQL Server gebruiken
- Delegering begrijpen
- Aan SQL Server delegeerbare Power Apps-functies en -bewerkingen
Connectors:
- Microsoft SQL Server-connectordocumentatie
- Overzicht van Virtual Network-ondersteuning
- Virtual Network-ondersteuning instellen
Application Lifecycle Management (ALM):