Condividi tramite


Usare SQL Server con le app canvas

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

Diagramma dell'architettura che mostra il flusso di lavoro per l'utilizzo di SQL Server con app canvas.

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.

Diagramma dell'architettura che illustra il modo in cui i componenti di connessione implicitamente condivisi sono correlati tra loro.

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

Power Apps:

Connettori:

Gestione del ciclo di vita delle applicazioni (ALM):