Použijte SQL Server s aplikacemi plátna

SQL Server je široce používané řešení pro ukládání podnikových dat. Tento článek nabízí osvědčené postupy, které vám pomohou s vytvořením a publikováním firemní aplikace plátna s využitím SQL Serveru.

Zpropitné

Tento článek poskytuje příklad scénáře a vizuální znázornění, jak používat SQL Server s aplikací plátna. Toto řešení je zobecněná příkladová architektura, kterou lze použít pro mnoho různých scénářů a odvětví. SQL Server a Power Apps podporují spousty zastaralých přístupů ověřování. Tento článek se omezuje na osvědčené postupy.

Schéma architektury

Schéma architektury, která znázorňuje pracovní postup pro použití serveru SQL Server s aplikacemi plátna.

Workflow

Zatímco mnoho předchozích implementací Power Apps se serverem SQL Server používalo bránu, tento příklad architektury zdůrazňuje architekturu virtuální privátní sítě (VNET) se serverem SQL Server. Instance serveru SQL Server může být Azure SQL nebo místní databáze SQL vystavená cloudu prostřednictvím Azure Arc. V obou případech je komunikace soukromá a zabezpečená.

  • Contoso VNET je virtuální privátní síť, kterou vytvoříte ve svém tenantovi.
  • Zdroje Azure/Contoso jsou zdroje, které zpřístupníte ve virtuální síti v rámci svého tenanta. Mezi tyto zdroje patří služby, jako je databáze Azure SQL nebo místní databáze SQL Serveru zpřístupněná prostřednictvím Azure ARC.
  • Delegovaná podsíť se nachází ve vaší virtuální síti a poskytuje kontejner pro Power Platform, který umožňuje službám, jako je konektor SQL nebo modul plug-in Dataverse pracovat s vašimi prostředky.

Komponenty

Tato část popisuje komponenty, které v této architektuře podporují integraci serveru SQL Server s aplikacemi plátna.

Aplikace plátna a tabulky SQL

Tabulky a zobrazení serveru SQL se v Power Apps zobrazují jako tabulární zdroje dat. Tabulkový zdroj dat můžete propojit s vlastností tabulky nebo galerie Items pomocí výrazu Power Fx. U tabulkových zdrojů dat se výrazy Power Fx překládají do výrazů OData, které se následně převádějí do výrazů SQL. Nicméně Power Fx a OData plně nepředstavují všechny možnosti výrazu SQL.

Zpropitné

Pro základní a přímočaré dotazy používejte ` Power Fx ` a pro složitější výrazy SQL používejte uložené procedury.

Aplikace plátna a uložené procedury SQL

Uložené procedury serveru SQL Server se v Power Apps zobrazují jako zdroje dat akcí. Zdroje dat akcí obvykle nelze vázat na tabulku nebo galerii kvůli jejich potenciálním vedlejším účinkům. Můžete však označit a select stored procedure jako Safe for Tables and Galleries a použít ho s tabulkou nebo galerií. Tento přístup načte všechna data, která uložená procedura vrací, ale buďte opatrní, protože načtení příliš velkého množství dat může přeplnit paměť klienta. Chcete-li řídit množství načtených dat, použijte argumenty stránkování parametrů, které jsou obvykle přítomny v těchto typech uložených procedur.

Dále nastavte výsledky na proměnnou Power Fx a použijte tuto proměnnou ve vlastnosti Items k naplnění tabulky nebo galerie. Nezapomeňte aktualizovat proměnnou Power Fx při operacích Vytvořit, Aktualizovat a Odstranit (CUD). Složitější uložené procedury, například ty, které používají dočasné tabulky, mohou vracet hodnotu dynamic schema. Výsledky těchto uložených procedur můžete použít nastavením očekávaných výsledků na hodnotu a Power Fx User defined type.

Konektor SQL serveru

Aplikace Power Apps používají konektor SQL Serveru pro přístup k datům na serveru SQL Server. I když je k dispozici mnoho typů ověřování SQL, Microsoft Entra ID a sdílený SPN (název hlavní služby) jsou dvě z lepších možností.

Pokud chcete použít Microsoft Entra ID, nejprve nakonfigurujte databázi serveru SQL Server tak, aby poskytovala zabezpečení prostřednictvím Microsoft Entra ID. Sdílitelné SPN je metoda přístupu povolená správcem a měla by být udělována opatrně, protože všichni uživatelé mají stejná přístupová práva k databázi. Je zabezpečeno zabezpečenými implicitními připojeními, která omezují přístup k tabulkám a akcím používaným v aplikaci (tj. Get, Post, Put a Delete).

VNET (virtuální privátní síť)

Existuje několik způsobů, jak směrovat volání na SQL Server. Virtuální síť je cloudové řešení Azure, které všechny koncové body činí privátními. Pro implementaci zřiďte virtuální síť v rámci svého tenanta, nastavte podnikové zásady a nakonfigurujte své prostředí Power Platform tak, aby ji podporovalo. Toto nastavení zajišťuje, že žádný provoz SQL nebude veřejně vystaven přes síť.

ALM (správa životního cyklu aplikací)

Power Platform podporuje hladký přechod aplikace Power Apps přes SQL mezi vývojovým, testovacím a provozním prostředím. Informace o připojení podporují změnu připojovacích řetězců mezi prostředími, což je důležité pro základní ověřování SQL. Proměnné prostředí podporují scénář Microsoft Entra ID změnou serveru a databáze mezi prostředími.

Případy použití

Power Apps poskytuje organizacím flexibilní a intuitivní způsob, jak si vytvářet uživatelské prostředí na míru.

  • Pokud vytváříte novou aplikaci a úložiště, zvažte použití Dataverse. Jeho funkce jsou navrženy tak, aby usnadnily tvorbu podnikových aplikací.
  • Pokud máte na serveru SQL Server data, která nelze přesunout, nebo vaše organizace vyžaduje SQL Server, zvažte použití Power Apps místo serveru SQL Server.
  • Pokud data nelze přesunout, použijte Power Apps přes SQL Server. Stávající aplikace stále závisí na těchto datech, takže je nutné je přesunout do cloudu, abyste je mohli modernizovat.

Důležité informace

Tyto aspekty implementují pilíře Well-Architected Power Platform, sadu hlavních principů, které zlepšují kvalitu úloh. Další informace najdete v tématu Well-Architected Microsoft Power Platform.

Spolehlivost

Navrhněte si pracovní zátěž tak, abyste se vyhnuli zbytečné složitosti: Power Apps funguje dobře s jednoduchými dotazy, které můžete delegovat na server. Delegujte složité úkoly na pohledy a uložené procedury. Pak tyto uložené procedury použijte přímo pro synchronní akce. Použijte Power Automate pro jakékoli asynchronní akce, včetně volání dlouhodobě běžících uložených procedur.

Zabezpečení

Používejte zabezpečená implicitní připojení: Používejte zabezpečená implicitní připojení pro všechna sdílená připojení. V případě potřeby převeďte všechny starší aplikace tak, aby používaly zabezpečená implicitní připojení. U zabezpečených implicitních připojení zůstává konektor uvnitř cloudové služby Power Apps a nenachází se na klientovi. Aplikace se připojuje pouze k proxy konektoru, který se také nachází v cloudové službě Power Apps. Aplikace a proxy konektor o sobě vědí; aplikace však o konektoru neví. Konektor Proxy má zásadu, která omezuje typy dotazů na dotazy v aplikaci.

Schéma architektury znázorňující, jak spolu implicitně sdílené komponenty připojení souvisí.

Vytvořte záměrnou segmentaci a perimetry: Používejte samostatná prostředí Power Platform pro fáze životního cyklu aplikace a zajistěte, aby ke každé fázi měli přístup pouze správní uživatelé, aby se podpořily zásady segmentace.

Provozní dokonalost

Zavádějte bezpečné postupy nasazení: Standardizujte nasazení veškerých změn v aplikaci Power Apps pomocí automatizovaných procesů nasazení, jako jsou například kanály. Povyšte aplikaci do provozního prostředí až po otestování těchto změn.

Efektivita výkonu

Návrh splňující požadavky na výkon: Vyhodnoťte výkon řešení a požadavky na objem dat, abyste zajistili vhodný návrh tabulek, zobrazení a uložených procedur serveru SQL Server. Ve svém hodnocení uveďte, jak se k datům přistupuje a jak jsou operace Power Apps delegovány na SQL Server. Mějte na paměti omezení při vyhledávání a filtrování dat vzhledem k podpoře delegování nabízené serverem SQL Server. Projděte si omezení popsaná pro aplikace plátna v článku Principy delegování, zejména při výběru správného zdroje dat nebo back-endu pro vaši aplikaci.

Optimalizace logiky: Aplikace plátna používají k provádění práce Power Fx. Každá operace Power Fx je nezávislá a není zpracovávána jako atomická transakce. Pokud například aplikace vytvoří řádek s podrobnostmi o prodejní objednávce, ale nevytvoří záznam záhlaví prodejní objednávky, řádek s podrobnostmi o prodejní objednávce zůstane. Nevynechávejte tyto požadované procedurální kroky v Power Fx. Používejte uložené procedury SQL Serveru s podporou transakcí.

Využití optimalizace

Návrh pro efektivitu: Aplikace, které uživatelům umožňují přístup k dalším zdrojům dat vedle tabulek SQL Serveru z jediné aplikace Power Apps, bez nutnosti interakce s více jednotlivými aplikacemi, zvyšují efektivitu a poskytují lépe přizpůsobený vizuální zážitek. Vyhněte se vytváření aplikace pro vytvoření jiné aplikace – aplikace by měla uživateli poskytovat určitou efektivitu nebo jinou architektonickou výhodu oproti použití modelem řízeného prostředí Power Apps.

Power Apps:

Konektory:

Správa životního cyklu aplikace (ALM):