Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
SQL Server är en mycket använd lösning för att lagra företagsdata. Den här artikeln innehåller metodtips som hjälper dig att skapa och publicera en arbetsyteapp i företagsklass med SQL Server.
Tips!
Den här artikeln innehåller ett exempelscenario och en visuell representation av hur du använder SQL Server med en arbetsyteapp. Den här lösningen är en generaliserad exempelarkitektur som kan användas för många olika scenarier och branscher. SQL Server och Power Apps har stöd för många äldre autentiseringsmetoder. Den här artikeln är begränsad till metodtips.
Arkitekturdiagram
Workflow
Många tidigare implementeringar av Power Apps med SQL Server använde en gateway, men den här exempelarkitekturen belyser VNET-arkitekturen (Virtual Private Network) med SQL Server. En SQL Server instans kan vara Azure SQL eller en lokal SQL-databas som exponeras för molnet via Azure Arc. I båda fallen är kommunikationen privat och säker.
- Contoso VNET är ett virtuellt privat nätverk som du skapar i din klientorganisation.
- Azure-resurser/Contoso-resurser är resurser som du gör tillgängliga i det virtuella nätverket inifrån din klientorganisation. Dessa resurser omfattar tjänster som en Azure SQL-databas eller en lokal SQL Server databas som görs tillgänglig via Azure Arc.
- Delegerat undernät finns i ditt virtuella nätverk och tillhandahåller en container för Power Platform att låta tjänster som SQL-anslutningsappen eller ett Dataverse plugin-program fungera med dina resurser.
Komponenter
I det här avsnittet beskrivs de komponenter som stöder integreringen av SQL Server med arbetsyteappar i den här arkitekturen.
Arbetsyteapp och SQL-tabeller
SQL Server tabeller och vyer visas som Power Apps tabelldatakällor. Du kan binda en tabelldatakälla till tabell- eller galleriegenskapen Items med hjälp av ett Power Fx uttryck. För tabelldatakällor översätts uttryck till OData-uttryck, Power Fx som sedan konverteras till SQL-uttryck. Power Fx Men och OData representerar inte helt alla funktioner i ett SQL-uttryck.
Tips!
Används Power Fx för grundläggande, enkla frågor och använder lagrade procedurer för mer komplexa SQL-uttryck.
Lagrade procedurer för arbetsyteapp och SQL
SQL Server lagrade procedurer visas som Power Apps åtgärdsdatakällor. Vanligtvis kan åtgärdsdatakällor inte bindas till en tabell eller ett galleri på grund av deras potentiella biverkningar. Du kan dock markera ett select stored procedure som Safe for Tables and Galleries och använda det med en tabell eller ett galleri. Den här metoden hämtar alla data som den lagrade proceduren returnerar, men var försiktig eftersom hämtning av för mycket data kan överskrida klientens minne. Om du vill styra mängden data som hämtas använder du de växlingsargument för parametrar som vanligtvis finns i dessa typer av lagrade procedurer.
Ange dessutom resultatet till en Power Fx variabel och använd den här variabeln Items i egenskapen för att fylla i tabellen eller galleriet. Kom ihåg att uppdatera variabeln Power Fx vid åtgärder för att skapa, uppdatera och ta bort (CUD). Mer komplexa lagrade procedurer, till exempel de som använder temporära tabeller, kan returnera en dynamic schema. Du kan använda resultatet av dessa lagrade procedurer genom att ange de förväntade resultaten till a Power Fx User defined type.
SQL Server-anslutning
Power Apps program använder SQL Server Connector för att komma åt data i SQL Server. Även om det finns många SQL-autentiseringstyper tillgängliga, Microsoft Entra är ID och delbart SPN (tjänstens huvudnamn) två av de bättre valen.
Om du vill använda Microsoft Entra ID konfigurerar du först SQL Server-databasen så att den ger säkerhet via Microsoft Entra ID. Delbart SPN är en administratörsaktiverad åtkomstmetod och bör beviljas noggrant, eftersom alla användare har samma databasåtkomsträttigheter. Den skyddas med säkra implicita anslutningar, som begränsar åtkomsten till de tabeller och åtgärder som används i programmet (det vill säga Get, Post, Put och Delete).
VNET (virtuellt privat nätverk)
Det finns flera sätt att dirigera anrop till SQL Server. Virtuellt nätverk är en Azure-molnlösning som gör alla slutpunkter privata. För att implementera etablerar du ett virtuellt nätverk i din klientorganisation, konfigurerar företagsprincipen och konfigurerar din Power Platform miljö så att den stöder den. Den här konfigurationen säkerställer att ingen SQL-trafik exponeras offentligt via kabeln.
ALM (hantering av programmets livscykel)
Power Platform stöder en smidig övergång av en Power Apps app över SQL mellan utvecklings-, test- och produktionsmiljöer. Anslutningsreferenser stöder ändring av anslutningssträngar mellan miljöer, vilket är viktigt för grundläggande SQL-autentisering. Miljövariabler stöder ID-scenariot genom att Microsoft Entra ändra servern och databasen mellan miljöer.
Användningsfall
Power Apps Ger organisationer ett flexibelt och intuitivt sätt att skapa anpassade användarupplevelser.
- Om du skapar en ny app och lagring bör du överväga att använda den Dataverse. Dess funktioner är utformade för att göra det enklare att bygga appar i företagsklass.
- Om du har data i SQL Server som inte kan flyttas, eller om din organisation kräver SQL Server, bör du överväga att använda Power Apps över SQL Server.
- Om det inte går att flytta data använder du Power Apps över SQL Server. Befintliga appar är fortfarande beroende av dessa data, så du måste flytta dessa appar till molnet för att modernisera dem.
Att tänka på
Dessa överväganden genomför principerna för Power Platform välstrukturerat, en uppsättning vägledande principer som förbättrar kvaliteten på en arbetsbelastning. Läs mer i Microsoft Power Platform välstrukturerat.
Tillförlitlighet
Utforma din arbetsbelastning för att undvika onödig komplexitet: Power Apps fungerar bra med enkla frågor som du kan delegera till servern. Delegera komplexa uppgifter till vyer och lagrade procedurer. Använd sedan de lagrade procedurerna direkt för synkrona åtgärder. Används Power Automate för alla asynkrona åtgärder, inklusive anrop till långvariga lagrade procedurer.
Säkerhet
Använd säkra implicita anslutningar: Använd säkra implicita anslutningar för alla delade anslutningar. Konvertera alla äldre program så att de använder säkra implicita anslutningar efter behov. Med säkra implicita anslutningar finns anslutningsappen kvar i Power Apps molntjänsten och finns inte på klienten. Appen ansluter bara till proxyanslutningsappen, som också finns i Power Apps molntjänsten. Appen och proxyanslutningsappen känner till varandra. Appen känner dock inte till anslutningsappen. Proxyanslutningsappen har en princip som begränsar frågetyper till frågor i appen.
Skapa avsiktlig segmentering och perimeter: Använd separata Power Platform miljöer för programmets livscykelstadier och se till att endast rätt användare har åtkomst till varje steg för att stödja segmenteringsprinciper.
Bästa driftförutsättningar
Anta säkra distributionsmetoder: Standardisera distributionen av ändringar i Power Apps programmet med hjälp av automatiserade distributionsprocesser, till exempel pipelines. Höj upp programmet till produktion först när du har testat ändringarna.
Prestandaeffektivitet
Utforma för att uppfylla prestandakraven: Utvärdera lösningens prestanda och datavolymkraven för att säkerställa att din SQL Server tabell-, vy- och lagrade procedurdesign är lämplig. I utvärderingen inkluderar du hur data används och hur Power Apps delegerar åtgärder till SQL Server. Tänk på begränsningar när du söker efter och filtrerar data på grund av det delegeringsstöd som erbjuds av SQL Server. Granska de begränsningar som dokumenteras för arbetsyteappar i Förstå delegering, särskilt när du väljer rätt datakälla eller serverdel för din app.
Optimera logik: Arbetsyteprogram används Power Fx för att utföra arbete. Varje Power Fx åtgärd är oberoende och hanteras inte som en atomisk transaktion. Om ett program till exempel skapar en detaljrad för försäljningsorder men inte skapar en rubrikpost för försäljningsorder, finns detaljraden för försäljningsordern kvar. Lämna inte kvar dessa nödvändiga procedursteg Power Fx. Använd SQL Server lagrade procedurer med transaktionsstöd.
Upplevelseoptimering
Design för effektivitet: Program som ger användare åtkomst till andra datakällor tillsammans med SQL Server-tabeller från ett enda Power Apps program, utan att kräva interaktion med flera enskilda program, förbättrar effektiviteten och ger en bättre anpassad visuell upplevelse. Undvik att skapa ett program för att skapa ett program – programmet bör ge användaren viss effektivitet eller andra arkitekturfördelar jämfört med att använda en modelldriven Power Apps upplevelse.
Relaterade resurser
Power Apps:
- Översikt över Anslut till SQL Server
- Använd Microsoft SQL Server på ett säkert sätt
- Förstå delegering
- Power Apps funktioner och åtgärder som kan delegeras till SQL Server
Kontakter:
- Microsoft SQL Server Dokumentation om anslutningsprogram
- Översikt över support för Virtual Network
- Konfigurera stöd för Virtual Network
Hantering av programmets livscykel (ALM):