Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
SQL Server ist eine weit verbreitete Lösung zum Speichern von Unternehmensdaten. Dieser Artikel enthält Best Practices, die Sie beim Erstellen und Veröffentlichen einer Canvas-App auf Unternehmensniveau mit SQL Server unterstützen.
Trinkgeld
Dieser Artikel enthält ein Beispielszenario und eine visuelle Darstellung der Verwendung des SQL Servers mit einer Canvas-App. Bei dieser Lösung handelt es sich um eine verallgemeinerte Beispielarchitektur, die für viele verschiedene Szenarien und Branchen verwendet werden kann. Der SQL Server und Power Apps unterstützen viele Legacy-Authentifizierungsansätze. Dieser Artikel beschränkt sich auf Best Practices.
Architekturdiagramm
Workflow
Während in vielen früheren Implementierungen von Power Apps mit SQL Server ein Gateway verwendet wurde, betrachtet dieses Beispiels die Architektur des virtuellen privaten Netzwerks (VNET) mit SQL Server. Eine SQL Server-Instanz kann eine Azure SQL- oder eine lokale SQL-Datenbank sein, die über Azure Arc in der Cloud verfügbar gemacht wird. In beiden Fällen ist die Kommunikation privat und sicher.
- Contoso VNET ist ein virtuelles privates Netzwerk, das Sie in Ihrem Mandanten erstellen.
- Azure-Ressourcen/Contoso-Ressourcen sind Ressourcen, die Sie im virtuellen Netzwerk aus Ihrem Mandanten zur Verfügung stellen. Zu diesen Ressourcen gehören Dienste wie eine Azure SQL-Datenbank oder eine lokale SQL Server-Datenbank, die über Azure Arc zur Verfügung gestellt werden.
- Delegiertes Subnetz befindet sich in Ihrem virtuellen Netzwerk und stellt Power Platform einen Container bereit, damit Dienste wie der SQL-Connector oder ein Dataverse-Plug-In mit Ihren Ressourcen arbeiten können.
Komponenten
In diesem Abschnitt werden die Komponenten beschrieben, die die Integration von SQL Server in Canvas-Apps in dieser Architektur unterstützen.
Canvas-App und SQL-Tabellen
SQL Servertabellen und -ansichten werden in Power Apps als tabellarische Datenquellen angezeigt. Sie können eine tabellarische Datenquelle mithilfe eines Power Fx-Ausdrucks an die Tabellen- oder Katalogeigenschaft Items binden. Bei tabellarischen Datenquellen werden Power Fx-Ausdrücke in OData-Ausdrücke übersetzt, die dann in SQL-Ausdrücke umgewandelt werden. Power Fx und OData stellen jedoch nicht alle Funktionen eines SQL-Ausdrucks vollständig dar.
Trinkgeld
Verwenden Sie Power Fx für einfache, unkomplizierte Abfragen und gespeicherte Prozeduren für komplexere SQL-Ausdrücke.
Canvas-App und gespeicherte SQL-Prozeduren
Gespeicherte SQL Server-Prozeduren werden in Power Apps als Aktionsdatenquellen angezeigt. In der Regel können Aktionsdatenquellen aufgrund ihrer potenziellen Nebenwirkungen nicht an eine Tabelle oder eine Galerie gebunden werden. Sie können jedoch eine select stored procedure als Safe for Tables and Galleries kennzeichnen und mit einer Tabelle oder einem Katalog verwenden. Bei diesem Ansatz werden alle Daten abgerufen, die von der gespeicherten Prozedur zurückgegeben werden. Seien Sie jedoch vorsichtig, da das Abrufen zu vieler Daten den Arbeitsspeicher des Clients überfordern kann. Verwenden Sie zur Steuerung der abgerufenen Datenmenge die Parameter-Paging-Argumente, die typischerweise in solchen gespeicherten Prozeduren vorhanden sind.
Legen Sie die Ergebnisse darüber hinaus auf eine Power Fx-Variable fest und verwenden Sie diese Variable in der Items-Eigenschaft, um die Tabelle oder den Katalog zu befüllen. Denken Sie daran, die Power Fx-Variable bei CUD-Vorgängen (Erstellen, Aktualisieren und Löschen) zu aktualisieren. Komplexere gespeicherte Prozeduren, z. B. solche, die temporäre Tabellen verwenden, können ein dynamic schema zurückgeben. Sie können die Ergebnisse dieser gespeicherten Prozeduren verwenden, indem Sie die erwarteten Ergebnisse auf einen Power Fx User defined type festlegen.
SQL Server Konnektor
Power Apps-Anwendungen verwenden für den Zugriff auf Daten in SQL Server den SQL Server-Connector. Es gibt zwar viele SQL-Authentifizierungstypen, doch Microsoft Entra ID und ein freigabefähiger SPN (Dienstprinzipalname) sind zwei der besseren Optionen.
Wenn Sie Microsoft Entra ID verwenden möchten, konfigurieren Sie zuerst die SQL Server-Datenbank so, dass die Sicherheit über Microsoft Entra ID bereitgestellt wird. Der freigegebene SPN ist eine vom Administrator aktivierte Zugriffsmethode und sollte mit Bedacht gewährt werden, da alle Benutzer über die gleichen Datenbankzugriffsrechte verfügen. Er ist mit sicheren impliziten Verbindungen gesichert, die den Zugriff auf die Tabellen und Aktionen beschränken, die in der Anwendung verwendet werden (d. h. Get, Post, Put und Delete).
VNET (virtuelles privates Netzwerk)
Es gibt mehrere Möglichkeiten, Aufrufe an den SQL Server weiterzuleiten. Virtual Network ist eine Azure-Cloudlösung, die alle Endpunkte privat macht. Stellen Sie zur Implementierung ein virtuelles Netzwerk in Ihrem Mandanten bereit, richten Sie die Unternehmensrichtlinie ein und konfigurieren Sie Ihre Power Platform-Umgebung so, dass sie es unterstützt. Dieses Setup stellt sicher, dass kein SQL-Datenverkehr öffentlich über das Netzwerk verfügbar gemacht wird.
ALM (Application Lifecycle Management)
Power Platform unterstützt den reibungslosen Wechsel einer Power Apps-App zwischen Entwicklungs-, Test- und Produktionsumgebungen über SQL. Verbindungsreferenzen unterstützen die Änderung von Verbindungszeichenfolgen zwischen Umgebungen, was für die grundlegende SQL Authentifizierung wichtig ist. Umgebungsvariablen unterstützen das Szenario mit Microsoft Entra ID, indem sie den Server und die Datenbank zwischen Umgebungen ändern.
Anwendungsfälle
Power Apps bietet Organisationen eine flexible, intuitive Möglichkeit, benutzerdefinierte Benutzererlebnisse zu erstellen.
- Wenn Sie eine neue App und einen neuen Speicher erstellen, überlegen Sie, Dataverse zu nutzen. Die Funktionen wurden entwickelt, um die Erstellung von Apps auf Unternehmensniveau zu vereinfachen.
- Wenn Sie Daten auf SQL Server haben, die nicht verschoben werden können, oder Ihre Organisation SQL Server benötigt, könnten Sie Power Apps anstelle von SQL Server verwenden.
- Wenn die Daten nicht verschoben werden können, verwenden Sie Power Apps anstelle von SQL Server. Vorhandene Apps sind weiterhin von diesen Daten abhängig, daher müssen Sie diese Apps in die Cloud verschieben, um sie zu modernisieren.
Überlegungen
Diese Überlegungen implementieren die Säulen von Power Platform Well-Architected, eine Reihe von Leitprinzipien, welche die Qualität einer Workload verbessern. Weitere Informationen finden Sie unter Microsoft Power Platform Well-Architected.
Zuverlässigkeit
Vermeiden Sie bei der Gestaltung Ihrer Workload unnötige Komplexität: Power Apps funktioniert gut mit einfachen Abfragen, die Sie an den Server delegieren können. Delegieren Sie komplexe Aufgaben an Ansichten und gespeicherte Prozeduren. Verwenden Sie diese gespeicherten Prozeduren dann direkt für synchrone Aktionen. Verwenden Sie Power Automate für alle asynchronen Aktionen, darunter für Aufrufe von gespeicherten Prozeduren mit langer Ausführungszeit.
Sicherheit
Verwenden Sie sichere implizite Verbindungen: Verwenden Sie für alle freigegebenen Verbindungen sichere implizite Verbindungen. Konvertieren Sie alle älteren Anwendungen, um bei Bedarf sichere implizite Verbindungen zu verwenden. Bei sicheren impliziten Verbindungen verbleibt der Connector im Power Apps-Clouddienst und befindet sich nicht auf dem Client. Die App stellt nur eine Verbindung zum Proxy-Connector her, der sich ebenfalls im Power Apps-Cloud-Dienst befindet. Die App und der Proxy-Connector kennen einander. Die App kennt den Connector jedoch nicht. Der Proxy-Connector verfügt über eine Richtlinie, die Abfragetypen auf Abfragen in der App beschränkt.
Erstellen Sie Segmentierungen und Perimeter bewusst: Verwenden Sie separate Power Platform-Umgebungen für die Phasen des Anwendungslebenszyklus und stellen Sie sicher, dass nur die richtigen Benutzer Zugriff auf die einzelnen Phasen haben, um Segmentierungsrichtlinien zu unterstützen.
Betriebliche Effizienz
Wenden Sie Vorgehensweisen für eine sichere Bereitstellung an: Standardisieren Sie die Bereitstellung aller Änderungen an der Power Apps-Anwendung mithilfe automatisierter Bereitstellungsprozesse wie Pipelines. Stufen Sie die Anwendung erst in die Produktion hoch, nachdem Sie diese Änderungen getestet haben.
Leistungsfähigkeit
Achten Sie beim Design auf die Erfüllung der Leistungsanforderungen: Bewerten Sie die Leistung Ihrer Lösung und die Anforderungen an das Datenvolumen, um sicherzustellen, dass das Design für die Tabellen, Ansichten und gespeicherten Prozeduren von SQL Server geeignet ist. Berücksichtigen Sie in Ihrer Auswertung, wie auf Daten zugegriffen wird und wie Power Apps Vorgänge an den SQL Server delegiert. Bedenken Sie die Einschränkungen beim Suchen und Filtern von Daten aufgrund der von SQL Server angebotenen Delegierungsunterstützung. Informieren Sie sich in Grundlegendes zur Delegierung über die Einschränkungen bei Canvas-Apps, insbesondere bei der Auswahl der richtigen Datenquelle oder des Backends für Ihre App.
Optimieren Sie Logik: Canvas-Anwendungen verwenden Power Fx zum Ausführen von Aufgaben. Jeder Power Fx-Vorgang ist unabhängig und wird nicht als atomare Transaktion behandelt. Wenn eine Anwendung z. B. eine Auftragsdetailzeile, aber keinen Auftragskopfdatensatz erstellt, bleibt die Auftragsdetailzeile erhalten. Lassen Sie diese erforderlichen Verfahrensschritte in Power Fx nicht aus. Verwenden Sie gespeicherte Prozeduren von SQL Server mit Transaktionsunterstützung.
Umgebungsoptimierung
Achten Sie beim Design auf Effizienz: Anwendungen, mit denen Benutzer von einer einzigen Power Apps-Anwendung aus neben SQL Server-Tabellen auch auf andere Datenquellen zugreifen können, ohne mit mehreren einzelnen Anwendungen interagieren zu müssen, verbessern die Effizienz und bieten eine bessere benutzerdefinierte visuelle Erfahrung. Erstellen Sie Anwendungen nicht um ihrer selbst Willen. Die Anwendung sollte dem Benutzer gegenüber der Verwendung einer modellgesteuerten Power Apps-Umgebung eine gewisse Effizienz oder einen anderen Architekturvorteil bieten.
Zugehörige Ressourcen
Power Apps:
- Mit SQL Server verbinden – Übersicht
- Microsoft SQL Server sicher verwenden
- Grundlegendes zur Delegierung
- Delegierbare Power Apps-Funktionen und -Vorgänge für SQL Server
Connectors:
- Microsoft SQL Server-Konnektordokumentation
- Überblick über den Support für virtuelles Netzwerk
- Support für virtuelles Netzwerk einrichten
Application Lifecycle Management (ALM):