Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SQL Server è una soluzione ampiamente utilizzata per l'archiviazione dei dati aziendali. Questo articolo illustra le best practice per aiutarti a creare e pubblicare un'app canvas di livello aziendale con SQL Server.
Suggerimento
Questo articolo fornisce uno scenario di esempio e una rappresentazione visiva di come utilizzare SQL Server con un'app canvas. Questa soluzione è un esempio di architettura generalizzata, che può essere utilizzata per molti scenari e settori diversi. SQL Server supporta molti approcci di autenticazione legacy. Power Apps Questo articolo si limita alle migliori pratiche.
Diagramma dell'architettura
Workflow
Mentre molte implementazioni precedenti di SQL Server utilizzavano un gateway, questa architettura di esempio evidenzia l'architettura della rete privata virtuale (VNET) con SQL Server. Power Apps Un'istanza di SQL Server può essere Azure SQL o un database SQL locale esposto al cloud tramite Azure Arc. In entrambi i casi, la comunicazione è privata e sicura.
- Contoso VNET è una rete privata virtuale creata nel tuo tenant.
- Le risorse di Azure/risorse Contoso sono risorse che rendi disponibili nella rete virtuale dall'interno del tuo tenant. Queste risorse includono servizi come un database SQL di Azure o un database SQL Server locale reso disponibile tramite Azure Arc.
- La subnet delegata si trova all'interno della tua rete virtuale e fornisce un contenitore per Power Platform consentire a servizi come il connettore SQL o un Dataverse plug-in di interagire con le tue risorse.
Componenti
Questa sezione descrive i componenti che supportano l'integrazione di SQL Server con le app canvas in questa architettura.
App Canvas e tabelle SQL
Le tabelle e le viste di SQL Server vengono visualizzate come origini dati tabulari. Power Apps È possibile associare un'origine dati tabulare alla proprietà table o gallery Items utilizzando un'espressione Power Fx . Per le origini dati tabulari, le espressioni vengono tradotte in espressioni OData, che vengono poi convertite in espressioni SQL. Power Fx Tuttavia, Power Fx e OData non rappresentano appieno tutte le capacità di un'espressione SQL.
Suggerimento
Utilizzare Power Fx per query semplici e immediate, e utilizzare procedure archiviate per espressioni SQL più complesse.
App Canvas e procedure archiviate SQL
Le stored procedure di SQL Server vengono visualizzate come origini dati di azione. Power Apps In genere, le origini dati delle azioni non possono essere associate a una tabella o a una galleria a causa dei potenziali effetti collaterali. Tuttavia, puoi contrassegnare un elemento come select stored procedure come Safe for Tables and Galleries e utilizzarlo con una tabella o una galleria. Questo approccio recupera tutti i dati restituiti dalla stored procedure, ma occorre fare attenzione perché il recupero di troppi dati può sovraccaricare la memoria del client. Per controllare la quantità di dati recuperati, utilizzare gli argomenti di paging dei parametri solitamente presenti in questi tipi di stored procedure.
Inoltre, imposta i risultati su una variabile e utilizza questa variabile nella proprietà per popolare la tabella o la galleria. Power Fx Items Ricordarsi di aggiornare la variabile durante le operazioni di creazione, aggiornamento ed eliminazione (CUD). Power Fx Le procedure archiviate più complesse, come quelle che utilizzano tabelle temporanee, potrebbero restituire a dynamic schema. È possibile utilizzare i risultati di queste procedure archiviate impostando i risultati previsti su a Power Fx User defined type.
Connettore SQL Server
Power Apps le applicazioni utilizzano il connettore SQL Server per accedere ai dati in SQL Server. Sebbene siano disponibili molti tipi di autenticazione SQL, l'ID e l'SPN (nome principale del servizio) condivisibile sono due delle scelte migliori. Microsoft Entra
Se si desidera utilizzare l'ID, configurare prima il database di SQL Server in modo che fornisca sicurezza tramite l'ID. Microsoft Entra Microsoft Entra L'SPN condivisibile è un metodo di accesso abilitato dall'amministratore e deve essere concesso con cautela, poiché tutti gli utenti hanno gli stessi diritti di accesso al database. È protetto tramite connessioni implicite sicure, che limitano l'accesso alle tabelle e alle azioni utilizzate nell'applicazione (ovvero Get, Post, Put ed Delete).
VNET (rete privata virtuale)
Esistono diversi modi per instradare le chiamate a SQL Server. La rete virtuale è una soluzione cloud di Azure che rende privati tutti gli endpoint. Per implementarla, predisponi una rete virtuale all'interno del tuo tenant, imposta i criteri aziendali e configura il tuo ambiente per supportarla. Power Platform Questa configurazione garantisce che nessun traffico SQL venga esposto pubblicamente sulla rete.
ALM (gestione del ciclo di vita delle applicazioni)
Power Platform supporta la transizione fluida di un'app tramite SQL tra gli ambienti di sviluppo, test e produzione. Power Apps I riferimenti di connessione supportano la modifica delle stringhe di connessione tra gli ambienti, il che è importante per l'autenticazione SQL di base. Le variabili d'ambiente supportano lo scenario ID modificando il server e il database tra gli ambienti. Microsoft Entra
Casi d'uso
Power Apps offre alle organizzazioni un modo flessibile e intuitivo per creare esperienze utente personalizzate.
- Se stai creando una nuova app e un nuovo spazio di archiviazione, prendi in considerazione l'utilizzo di Dataverse. Le sue funzionalità sono progettate per semplificare la creazione di app di livello aziendale.
- Se in SQL Server sono presenti dati che non possono essere spostati o se la tua organizzazione richiede SQL Server, valuta la possibilità di utilizzare Power Apps anziché SQL Server.
- Se i dati non possono essere spostati, utilizzare SQL Server. Power Apps Le app esistenti dipendono ancora da questi dati, quindi è necessario spostarle nel cloud per modernizzarle.
Considerazioni
Queste considerazioni implementano i pilastri di Power Platform Well-Architected, un insieme di principi guida che migliorano la qualità di un carico di lavoro. Altre informazioni in Microsoft Power Platform Well-Architected.
Affidabilità
Progetta il tuo carico di lavoro in modo da evitare complessità non necessarie: Power Apps funziona bene con query semplici che puoi delegare al server. Delegare attività complesse a viste e procedure archiviate. Quindi, utilizzare direttamente tali procedure archiviate per le azioni sincrone. Da utilizzare Power Automate per qualsiasi azione asincrona, incluse le chiamate a procedure archiviate di lunga durata.
Sicurezza
Utilizza connessioni implicite sicure: utilizza connessioni implicite sicure per tutte le connessioni condivise. Se necessario, convertire tutte le applicazioni più vecchie in modo che utilizzino connessioni implicite sicure. Con connessioni implicite sicure, il connettore rimane all'interno del servizio cloud e non risiede sul client. Power Apps L'app si connette solo al connettore proxy, che si trova anch'esso nel servizio cloud. Power Apps L'app e il connettore proxy si conoscono tra loro; tuttavia, l'app non è a conoscenza del connettore. Il connettore proxy ha una policy che limita i tipi di query alle query nell'app.
Creare segmentazione e perimetri intenzionali: utilizzare ambienti separati per le fasi del ciclo di vita dell'applicazione e garantire che solo gli utenti autorizzati abbiano accesso a ciascuna fase per supportare i criteri di segmentazione. Power Platform
Eccellenza operativa
Adottare pratiche di distribuzione sicure: standardizzare la distribuzione di qualsiasi modifica all'applicazione utilizzando processi di distribuzione automatizzati, come le pipeline. Power Apps Promuovere l'applicazione in produzione solo dopo aver testato tali modifiche.
Efficienza prestazionale
Progettazione per soddisfare i requisiti di prestazioni: valutare le prestazioni della soluzione e i requisiti di volume di dati per garantire che la progettazione della tabella, della vista e della stored procedure di SQL Server sia appropriata. Nella valutazione, includi il modo in cui si accede ai dati e come vengono delegate le operazioni a SQL Server. Power Apps Tenere presente le limitazioni durante la ricerca e il filtraggio dei dati dovute al supporto di delega offerto da SQL Server. Esaminare le limitazioni documentate per le app canvas in Informazioni sulla delega, in particolare quando si sceglie la giusta origine dati o il backend per l'app.
Ottimizza la logica: le applicazioni Canvas utilizzano Power Fx per eseguire il lavoro. Ogni Power Fx operazione è indipendente e non viene gestita come una transazione atomica. Ad esempio, se un'applicazione crea una riga di dettaglio dell'ordine di vendita ma non crea un record di intestazione dell'ordine di vendita, la riga di dettaglio dell'ordine di vendita rimane. Non tralasciare questi passaggi procedurali obbligatori Power Fx. Utilizzare le stored procedure di SQL Server con supporto per le transazioni.
Ottimizzazione dell'esperienza
Progettazione per l'efficienza: le applicazioni che consentono agli utenti di accedere ad altre origini dati insieme alle tabelle di SQL Server da un'unica applicazione, senza richiedere l'interazione con più applicazioni individuali, migliorano l'efficienza e forniscono una migliore esperienza visiva personalizzata. Power Apps Evitare di creare un'applicazione per creare un'applicazione: l'applicazione dovrebbe garantire una certa efficienza all'utente o altri vantaggi architettonici rispetto all'utilizzo di un'esperienza basata su modelli. Power Apps
Risorse correlate
Power Apps:
- Panoramica sulla connessione a SQL Server
- Utilizzare in modo sicuro Microsoft SQL Server
- Comprendere il concetto di delega
- Power Apps funzioni e operazioni delegabili a SQL Server
Connettori:
- Microsoft SQL Server documentazione del connettore
- Panoramica del supporto di Rete virtuale
- Impostazione del supporto della rete virtuale
Gestione del ciclo di vita delle applicazioni (ALM):